1 2<!DOCTYPE html> 3<html lang="en"> 4<head> 5<meta charset="utf-8"> 6<meta http-equiv="X-UA-Compatible" content="IE=edge"> 7<meta name="viewport" content="width=device-width, initial-scale=1.0"> 8<link rel="preconnect" href="https://code.jquery.com" crossorigin> 9<link rel="preconnect" href="https://ajax.googleapis.com" crossorigin> 10<link rel="preconnect" href="https://stackpath.bootstrapcdn.com" crossorigin> 11<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin> 12<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 13<title>Recent News | Colorado and Wyomingâs top commercial electrical company</title> 14<link rel="canonical" href="https://greinerelectric.com/Recent-News"> 15<meta name="description" content=""> 16<meta property="og:title" content="Recent News | Colorado and Wyomingâs top commercial electrical company"> 17<meta property="og:description" content=""> 18<meta property="og:url" content="https://greinerelectric.com/Recent-News"> 19<meta property="og:type" content="website"> 20<meta property="og:site_name" content="greinerelectric.com"> 21<meta property="og:image" content="https://greinerelectric.com/userfiles/2482/images/logo--%20Copy_11280211.png"> 22<meta name="twitter:card" content="summary_large_image"> 23<meta name="twitter:title" content="Recent News | Colorado and Wyomingâs top commercial electrical company"> 24<meta name="twitter:description" content=""> 25<meta name="twitter:image" content="https://greinerelectric.com/userfiles/2482/images/logo--%20Copy_11280211.png"> 26<meta name="author" content="Omnia Business Systems"> 27<link rel="shortcut icon" href="/userfiles/2482/greiner.PNG"> 28<!-- omsPerf lite=1 eagerMaps=0 deferBs=0 hover=0 hamb=0 par=0 mas=0 | edit=0 page=1 tpl=blog_cards.cfm plain=1 incl=0 detail=0 jqui=0 fpjs=0 maps=0 forced=0 --> 29<!-- Modified Bootstrap CSS --> 30<link href="/sass/src/css/2482.css?t=1690321307" rel="stylesheet"> 31<!-- Google Fonts CSS --> 32<link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700&display=swap" rel="stylesheet" type="text/css"> 33<link href="//fonts.googleapis.com/css?family=Montserrat:400,700&display=swap" rel="stylesheet" type="text/css"> 34<link href="/css/omnia.css?v=1727825914" rel="stylesheet">
35<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 35
35
36<script defer src="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js"></script>
vendor: 1 bytes, line 36
36
37<script defer src="/js/omsBsRestore.js?v=1789679629"></script>
37 38<link href="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/base/jquery-ui.css" rel="stylesheet" media="print" onload="this.media='all'">
39<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.bundle.min.js"></script>
vendor: 1 bytes, line 39
39
40<script>window.omsBsPlugins={tooltip:jQuery.fn.tooltip,button:jQuery.fn.button};</script>
vendor: 1 bytes, line 40
40
41<script src="//cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js"></script>
vendor: 1 bytes, line 41
41
42<script>window.omsMapsSrc="https://maps.googleapis.com/maps/api/js?key=AIzaSyApFqMwkWdCNgafvf2aWGop2NoJxYJORr8&libraries=places";</script>
42 43<style> 44.signedIn{display:none!important} 45.signedOut{display:block!important} 46</style> 47<style id="additionalStylesInline"> 48/* GLOBAL */ 49html { 50scroll-behavior: smooth; 51} 52@media(min-width: 992px) { 53h1.mega, .h1.mega { 54font-size: 4rem; 55} 56} 57@media(max-width: 767px) { 58h1, .h1 { 59font-size: 2rem; 60} 61h2, 62.h2 { 63font-size: 1.75rem; 64} 65h3, 66.h3 { 67font-size: 1.6rem; 68} 69h4, 70.h4 { 71font-size: 1.45rem; 72} 73h5, 74.h5 { 75font-size: 1.3rem; 76} 77h6, 78.h6 { 79font-size: 1.15rem; 80} 81} 82.btn { 83white-space: normal; 84} 85a:hover img, 86a.bg-img:hover a.bg-image:hover { 87opacity: .85; 88} 89#savecontent img { 90max-width: 100% !important; 91height: auto !important; 92} 93.rightfloat { 94float: right; 95margin: 0 0 .5rem 1rem; 96width: 40%; 97} 98@media (max-width: 767px) { 99.rightfloat { 100float: none; 101margin: 0 0 1rem 0; 102width: 100%; 103} 104} 105.btn-primary { 106color: white !important; 107} 108@media(min-width: 1600px) { 109.container { 110max-width: 1300px; 111} 112} 113.property-search #filterForm, 114.oms-property-manager-details .btn.btn-primary, .job-wrapper .fancygallery { 115display: none; 116} 117#dPropDesc { 118display: block !important; 119} 120.job-image a { 121background-size: contain !important; 122} 123#dPropAddress, #dPropMap { 124display: none; 125} 126/* PAGE SPECIFIC */ 127/* FOOTER */ 128</style> 129<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 129-130
129 130<script async src="https://www.googletagmanager.com/gtag/js?id=
130UA-132218497-1
vendor: 12 bytes, line 130
130"></script>
131<script>
vendor: 127 bytes, lines 132-135
132window.dataLayer = window.dataLayer || []; 133function gtag(){dataLayer.push(arguments);} 134gtag('js', new Date()); 135gtag('config', '
135UA-132218497-1
vendor: 4 bytes, line 135
135');
136</script>
136 137<!-- /site header code -->
138<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jstz.min.js"></script>
138 139 <link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap" rel="stylesheet"> 140 <style> 141 #omniaMgmtLoginModal { 142 font-family: 'DM Sans', sans-serif; 143 } 144 #omniaMgmtLoginModal .modal-dialog { 145 max-width: 420px; 146 } 147 #omniaMgmtLoginModal .modal-content { 148 background: #16161e; 149 border: 1px solid rgba(255,255,255,0.07); 150 border-radius: 20px; 151 box-shadow: 0 32px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(91,94,244,0.1); 152 overflow: hidden; 153 position: relative; 154 } 155 #omniaMgmtLoginModal .modal-header { 156 border: none; 157 padding: 32px 32px 0 32px; 158 display: flex; 159 align-items: center; 160 justify-content: center; 161 } 162 #omniaMgmtLoginModal .modal-header .header-inner { 163 display: flex; 164 flex-direction: column; 165 align-items: center; 166 text-align: center; 167 width: 100%; 168 } 169 #omniaMgmtLoginModal .modal-icon { 170 width: 48px; 171 height: 48px; 172 background: linear-gradient(135deg, #5b5ef4, #8b5cf6); 173 border-radius: 14px; 174 display: flex; 175 align-items: center; 176 justify-content: center; 177 margin-bottom: 16px; 178 } 179 #omniaMgmtLoginModal .modal-icon svg { 180 width: 22px; height: 22px; 181 stroke: #fff; fill: none; 182 stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; 183 } 184 #omniaMgmtLoginModal .modal-title { 185 font-size: 20px; 186 font-weight: 600; 187 color: #f0f0f8; 188 letter-spacing: -0.02em; 189 margin-bottom: 4px; 190 } 191 #omniaMgmtLoginModal .modal-subtitle { 192 font-size: 14px; 193 color: #666; 194 line-height: 1.5; 195 } 196 197 /* Close button */ 198 #omniaMgmtLoginModal .btn-close-modal { 199 position: absolute; 200 top: 16px; 201 right: 16px; 202 background: rgba(255,255,255,0.06); 203 border: none; 204 color: #888; 205 width: 30px; 206 height: 30px; 207 border-radius: 8px; 208 cursor: pointer; 209 display: flex; 210 align-items: center; 211 justify-content: center; 212 font-size: 16px; 213 line-height: 1; 214 transition: background 0.15s, color 0.15s; 215 z-index: 10; 216 } 217 #omniaMgmtLoginModal .btn-close-modal:hover { background: rgba(255,255,255,0.12); color: #e8e8f0; } 218 #omniaMgmtLoginModal .btn-close-modal:focus { outline: none; box-shadow: none; } 219 220 /* Fields */ 221 #omniaMgmtLoginModal .login-field { 222 margin-bottom: 16px; 223 } 224 #omniaMgmtLoginModal .login-field label { 225 display: block; 226 font-size: 11px; 227 font-weight: 500; 228 color: #888; 229 letter-spacing: 0.07em; 230 text-transform: uppercase; 231 margin-bottom: 8px; 232 } 233 #omniaMgmtLoginModal .login-input-wrap { 234 position: relative; 235 display: flex; 236 align-items: center; 237 } 238 #omniaMgmtLoginModal .login-input-wrap input { 239 width: 100%; 240 background: #0f0f13; 241 border: 1.5px solid #2a2a35; 242 border-radius: 10px; 243 padding: 12px 44px 12px 14px; 244 color: #e8e8f0; 245 font-family: 'DM Sans', sans-serif; 246 font-size: 14px; 247 outline: none; 248 transition: border-color 0.2s, box-shadow 0.2s; 249 } 250 #omniaMgmtLoginModal .login-input-wrap input::placeholder { 251 color: #3a3a4a; 252 font-size: 14px; 253 } 254 #omniaMgmtLoginModal .login-input-wrap input:focus { 255 border-color: #5b5ef4; 256 box-shadow: 0 0 0 3px rgba(91,94,244,0.15); 257 } 258 #omniaMgmtLoginModal .login-toggle-pw { 259 position: absolute; 260 right: 12px; 261 background: none; 262 border: none; 263 color: #444; 264 cursor: pointer; 265 padding: 4px; 266 display: flex; 267 align-items: center; 268 transition: color 0.15s; 269 } 270 #omniaMgmtLoginModal .login-toggle-pw:hover { color: #888; } 271 #omniaMgmtLoginModal .login-toggle-pw svg { 272 width: 16px; height: 16px; 273 stroke: currentColor; fill: none; 274 stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; 275 } 276 277 /* Auth code field (shown dynamically) */ 278 #omniaMgmtLoginModal .auth-field { margin-bottom: 16px; } 279 #omniaMgmtLoginModal #verification { 280 width: 100%; 281 background: #0f0f13; 282 border: 1.5px solid #fbbf24; 283 border-radius: 10px; 284 padding: 12px 14px; 285 color: #e8e8f0; 286 font-family: 'DM Mono', monospace; 287 font-size: 18px; 288 letter-spacing: 0.25em; 289 text-align: center; 290 outline: none; 291 transition: border-color 0.2s, box-shadow 0.2s; 292 } 293 #omniaMgmtLoginModal #verification:focus { 294 border-color: #fbbf24; 295 box-shadow: 0 0 0 3px rgba(251,191,36,0.15); 296 } 297 #omniaMgmtLoginModal #verification::placeholder { 298 letter-spacing: 0.05em; 299 font-size: 14px; 300 color: #3a3a4a; 301 font-family: 'DM Sans', sans-serif; 302 } 303 304 /* Case sensitive note */ 305 #omniaMgmtLoginModal .login-note { 306 font-size: 12px; 307 color: #fff; 308 text-align: center; 309 margin-bottom: 4px;
310 } 311 312 /* Error / response area */ 313 #omniaMgmtLoginModal .alert { 314 font-size: 13px; 315 min-height: 18px; 316 margin-bottom: 8px; 317 color: #f87171; 318 transition: opacity 0.2s; 319 line-height: 1.5; 320 } 321 #omniaMgmtLoginModal .login-alert:empty { margin-bottom: 0; } 322 #omniaMgmtLoginModal .alert { 323 background: rgba(255,255,255,0.04); 324 border: 1px solid rgba(255,255,255,0.08); 325 border-radius: 8px; 326 color: #a0a0b8; 327 font-size: 13px; 328 padding: 10px 12px; 329 margin-top: 6px; 330 } 331 /*#omniaMgmtLoginModal .alert a { color: #8b5cf6; }*/ 332 333 /* SMS button */ 334 #omniaMgmtLoginModal .btn-sms { 335 width: 100%; 336 background: rgba(251,191,36,0.12); 337 border: 1px solid rgba(251,191,36,0.3); 338 color: #fbbf24; 339 border-radius: 10px; 340 padding: 11px; 341 font-family: 'DM Sans', sans-serif; 342 font-size: 14px; 343 font-weight: 500; 344 cursor: pointer; 345 transition: background 0.2s; 346 margin-bottom: 12px; 347 } 348 #omniaMgmtLoginModal .btn-sms:hover { background: rgba(251,191,36,0.2); } 349 350 /* Modal body / footer */ 351 #omniaMgmtLoginModal .modal-body { 352 padding: 24px 32px 16px 32px; 353 } 354 #omniaMgmtLoginModal .modal-footer { 355 border: none; 356 padding: 8px 32px 32px 32px; 357 display: flex; 358 flex-direction: column; 359 gap: 10px; 360 } 361 362 /* Primary login button */ 363 #omniaMgmtLoginModal .btn-login { 364 width: 100%; 365 background: linear-gradient(135deg, #5b5ef4, #8b5cf6); 366 color: #fff; 367 border: none; 368 padding: 13px; 369 border-radius: 10px; 370 font-family: 'DM Sans', sans-serif; 371 font-size: 15px; 372 font-weight: 600; 373 cursor: pointer; 374 letter-spacing: 0.01em; 375 transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s; 376 position: relative; 377 overflow: hidden; 378 } 379 #omniaMgmtLoginModal .btn-login:hover { 380 transform: translateY(-1px); 381 box-shadow: 0 8px 24px rgba(91,94,244,0.4); 382 } 383 #omniaMgmtLoginModal .btn-login:active { transform: translateY(0); } 384 385 /* Forgot password link-style button */ 386 #omniaMgmtLoginModal .btn-forgot { 387 width: 100%; 388 background: rgba(255,255,255,0.04); 389 border: 1px solid rgba(255,255,255,0.07); 390 color: #666; 391 border-radius: 10px; 392 padding: 11px; 393 font-family: 'DM Sans', sans-serif; 394 font-size: 14px; 395 font-weight: 500; 396 cursor: pointer; 397 transition: background 0.2s, color 0.2s; 398 } 399 #omniaMgmtLoginModal .btn-forgot:hover { background: rgba(255,255,255,0.08); color: #a0a0b8; } 400 401 /* Back button on forgot screen */ 402 #omniaMgmtLoginModal .btn-back-login { 403 background: none; 404 border: none; 405 color: #5b5ef4; 406 font-family: 'DM Sans', sans-serif; 407 font-size: 13px; 408 font-weight: 500; 409 cursor: pointer; 410 padding: 0; 411 display: inline-flex; 412 align-items: center; 413 gap: 5px; 414 margin-bottom: 16px; 415 transition: color 0.15s; 416 outline: none; 417 box-shadow: none; 418 } 419 #omniaMgmtLoginModal .btn-back-login:hover { color: #8b5cf6; } 420 #omniaMgmtLoginModal .btn-back-login:focus { outline: none; box-shadow: none; } 421 #omniaMgmtLoginModal .btn-back-login svg { 422 width: 14px; height: 14px; 423 stroke: currentColor; fill: none; 424 stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; 425 } 426 427 /* Ripple */ 428 #omniaMgmtLoginModal .btn-login .ripple { 429 position: absolute; 430 border-radius: 50%; 431 background: rgba(255,255,255,0.25); 432 transform: scale(0); 433 animation: loginRipple 0.5s linear; 434 pointer-events: none; 435 } 436 @keyframes loginRipple { to { transform: scale(4); opacity: 0; } } 437 438 .modal-backdrop { background: rgba(5,5,10,0.75); } 439 .modal-backdrop.show { opacity: 1; } 440 </style> 441 442
442<script> 443 $(function(){ 444 445 /* auth spinner: PBKDF2 verify adds ~1-2s to each login step (incident 2026-09-10) */ 446 $('head').append('<style>.omnia-spin{display:inline-block;width:1rem;height:1rem;margin-right:.5rem;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:omniaSpin .6s linear infinite;}@keyframes omniaSpin{to{transform:rotate(360deg)}}</style>'); 447 function omniaLoginLoading(on){ 448 var $b = $('#loginSubmitted'); 449 if(!$b.length) return; 450 if(on){ if($b.data('omniaOrig')===undefined){ $b.data('omniaOrig', $b.html()); } $b.prop('disabled', true).css('cursor','wait').html('<span class="omnia-spin"></span>Signing in...'); } 451 else { if($b.data('omniaOrig')!==undefined){ $b.html($b.data('omniaOrig')); } $b.prop('disabled', false).css('cursor',''); } 452 } 453 $(document).ajaxSend(function(e, xhr, opts){ var d = opts.data || ''; if(/func=checkPWSecurity/.test(d) || /method=loginCheck_a/.test(opts.url||'')) omniaLoginLoading(true); }); 454 $(document).ajaxComplete(function(e, xhr, opts){ var d = opts.data || ''; var cp = /func=checkPWSecurity/.test(d); var lc = /method=loginCheck_a/.test(opts.url||''); if(cp && $.trim(xhr.responseText) === 'success') return; if(cp || lc) omniaLoginLoading(false); }); 455 // ââ Login submit (button + Enter key) ââââââââââââââââââââââââââââââ 456 var loginPending = false; 457 function doLogin(){ 458 if(loginPending) return; 459 loginPending = true; 460 var data = $('#loginForm').serialize() + "&func=checkPWSecurity"; 461 $.post("/ajax/generic_functions.cfm", data, function(response){ 462 loginPending = false; 463 if($.trim(response) == 'success'){ 464 var data = $("#loginForm").serialize(); 465 $.post("/com/security.cfc?method=loginCheck_a", data, function(response){ 466 if($.trim(response) == "success"){ 467 parent.window.location.href = "/secure/"; 468 } else if($.trim(response).substr(0,8) == "redirect"){ 469 parent.window.location.href = $.trim(response).substring(9, response.length); 470 } else { 471 if(~response.indexOf("credentials")){ $('#forceLogin').val('1'); } 472 $('#loginAlert').html('<p class="mb-2 text-white">' + response + '</p>'); 473 } 474 }, "html"); 475 } else if(~$.trim(response).indexOf("checkauth")){ 476 $('.auth-item').remove(); 477 $('#loginAlert').html('<p class="mb-2 text-white">A 6-digit code has been sent to your email.</p><div class="alert">Please add <strong style="color:#f87171;">[email protected]</strong> to your safe sender list if you are still not receiving the code.</div>'); 478 $('.login-username-field, .login-pw-field').hide(); 479 // Auth code input 480 $('#omniaMgmtLoginModal .modal-body').append('<div class="auth-field auth-item"><label style="display:block;font-size:11px;font-weight:500;color:#888;letter-spacing:0.07em;text-transform:uppercase;margin-bottom:8px;">Verification Code</label><input type="text" name="verification" id="verification" maxlength="6" placeholder="Enter 6-digit code" autocomplete="off" form="loginForm"></div>'); 481 if($.trim(response) == "checkauthwithphone"){ 482 $('#omniaMgmtLoginModal .modal-body').append('<div class="auth-item" style="margin-bottom:8px;font-size:12px;color:#666;text-align:center;">Not receiving the email?</div><button type="button" id="sendSMS" class="btn-sms auth-item">Send Code Via Text</button>'); 483 } else { 484 $('#omniaMgmtLoginModal .modal-body').append('<div class="auth-item" style="margin-bottom:4px;"><div class="alert text-center">Not receiving the email? Contact us at <strong style="color:#f87171;"><a href="mailto:[email protected]">[email protected]</a></strong> to add a phone number for text verification.</div></div>'); 485 } 486 } else if($.trim(response) == 'not verified'){ 487 $('#loginAlert').html('<p class="mb-2 text-white">The authorization code is incorrect. If you continue to have issues, refresh and try again.</p>'); 488 setTimeout(function(){ $('#omniaMgmtLoginModal').modal('hide'); }, 2000); 489 } else if($.trim(response) == 'no match'){ 490 $('#loginAlert').html('<p class="mb-2 text-white">No user matches these credentials.</p>'); 491 } else { 492 $.post("/ajax/generic_functions.cfm", { func: "getEmailForPasswordReset", username: $('#userName').val() }, function(response){ 493 $.post("/ajax/generic_functions.cfm", { func: "createResetPasswordEmail", username: $('#userName').val() }, function(){}, "html"); 494 $('#loginAlert').html('<p class="mb-2 text-white">Your password is not secure. You will receive an email at <strong>' + response + '</strong> momentarily to reset it.</p>'); 495 }, "html"); 496 } 497 }, "html"); 498 } 499 500 $('#loginSubmitted').on('click', function(e){
501 // Ripple effect 502 var btn = this, circle = document.createElement('span'); 503 var d = Math.max(btn.clientWidth, btn.clientHeight), r = d/2; 504 var rect = btn.getBoundingClientRect(); 505 circle.style.cssText = 'width:'+d+'px;height:'+d+'px;left:'+(e.clientX-rect.left-r)+'px;top:'+(e.clientY-rect.top-r)+'px'; 506 circle.className = 'ripple'; 507 $(btn).find('.ripple').remove(); 508 btn.appendChild(circle); 509 doLogin(); 510 }); 511 512 $(document).keydown(function(e){ 513 setTimezoneCookie(); 514 if(e.keyCode === 13 && $('#loginscreen').is(':visible')){ 515 // If the verification field exists and is visible, still call doLogin 516 // (it will serialize the verification value too since it has form="loginForm") 517 doLogin(); 518 } 519 if(e.keyCode === 13 && $('#forgotpassscreen').is(':visible')){ doForgot(); } 520 }); 521 522 // ââ SMS ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 523 $(document).on('click', '#sendSMS', function(){ 524 var $btn = $(this); 525 $btn.prop('disabled', true); 526 $.post("/ajax/generic_functions.cfm", { func: "sendSMSAuth", username: $('#userName').val(), password: $('#password').val() }, function(){ 527 $btn.html('<i class="fas fa-check" style="margin-right:6px;"></i>Code Sent!'); 528 $btn.css({ 529 'background': 'rgba(34,197,94,0.15)', 530 'border-color': 'rgba(34,197,94,0.4)', 531 'color': '#22c55e' 532 }); 533 }, "html"); 534 }); 535 536 // ââ Forgot password ââââââââââââââââââââââââââââââââââââââââââââââââââ 537 $('.forgotUorP').on('click', function(){ 538 $('#loginscreen').hide(); 539 $('#forgotpassscreen').show(); 540 $('#loginAlert').html(''); 541 }); 542 543 $('.btn-back-login').on('click', function(){ 544 $('#forgotpassscreen').hide(); 545 $('#loginscreen').show(); 546 }); 547 548 $('#omniaMgmtLoginModal').on('hidden.bs.modal', function(){ 549 location.reload(); 550 }); 551 552 function doForgot(){ 553 var data = $("#forgotPassForm").serialize(); 554 $.post("/com/security.cfc?method=forgotPass", data, function(response){ 555 $('#loginAlert').html(response); 556 $('#forgotpassscreen').hide(); 557 $('#loginscreen').show(); 558 }, "html"); 559 } 560 561 $("#forgotPassForm").submit(function(e){ e.preventDefault(); doForgot(); }); 562 $('#submitRetrievePassword').on('click', doForgot); 563 }); 564 565 function setTimezoneCookie(){ 566 var timezone = jstz.determine(); 567 timezone = timezone.name(); 568 $.post("/ajax/generic_functions.cfm", { func: "setTimeZoneCookie", timezone: timezone }, function(){}, "html"); 569 } 570 571 function loginTogglePW(inputId, btn){ 572 var input = document.getElementById(inputId); 573 var isPassword = input.type === 'password'; 574 input.type = isPassword ? 'text' : 'password'; 575 var svg = btn.querySelector('svg'); 576 svg.innerHTML = isPassword 577 ? '<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"/><line x1="1" y1="1" x2="23" y2="23"/>' 578 : '<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/>'; 579 } 580 </script>
580</head> 581<body> 582<div class="oms-wrapper"> 583<div class="modal fade" id="omniaMgmtLoginModal" tabindex="-1" aria-labelledby="omniaMgmtLoginModalLabel" aria-hidden="true" data-keyboard="false"> 584<div class="modal-dialog modal-dialog-centered mx-auto"> 585<div class="modal-content"> 586<button type="button" class="btn-close-modal" data-dismiss="modal" aria-label="Close">✕</button> 587<div class="modal-header"> 588<div class="header-inner"> 589<div class="modal-icon"> 590<!-- Person / user icon --> 591<svg viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 592</div> 593<div class="modal-title" id="omniaMgmtLoginModalLabel">Management Login</div> 594<div class="modal-subtitle">Sign in to access your dashboard.</div> 595</div> 596</div> 597<div class="modal-body"> 598<form id="loginForm"> 599<input type="hidden" name="s" id="s" value="2482"> 600<input type="hidden" name="forceLogin" id="forceLogin" value="0"> 601</form> 602<!-- ââ Login Screen âââââââââââââââââââââââââââââââââââââââââ --> 603<div id="loginscreen"> 604<div class="login-field login-username-field"> 605<label for="userName">Username</label> 606<div class="login-input-wrap"> 607<input type="text" name="userName" id="userName" maxlength="50" placeholder="Enter your username" autocomplete="off" form="loginForm"> 608</div> 609</div> 610<div class="login-field login-pw-field"> 611<label for="password">Password</label> 612<div class="login-input-wrap"> 613<input type="password" name="password" id="password" maxlength="20" placeholder="Enter your password" autocomplete="off" form="loginForm"> 614<button type="button" class="login-toggle-pw" onclick="loginTogglePW('password', this)" aria-label="Show password"> 615<svg viewBox="0 0 24 24"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg> 616</button> 617</div> 618</div> 619<p class="login-note">Passwords are case sensitive</p> 620</div> 621<!-- ââ Forgot Password Screen ââââââââââââââââââââââââââââââ --> 622<div id="forgotpassscreen" style="display:none;"> 623<button type="button" class="btn-back-login"> 624<svg viewBox="0 0 24 24"><polyline points="15 18 9 12 15 6"/></svg> 625Back to login 626</button> 627<form id="forgotPassForm"> 628<input type="hidden" name="s" id="s2" value="2482"> 629<div class="login-field"> 630<label for="emailField">Email Address</label> 631<div class="login-input-wrap"> 632<input type="text" name="emailField" id="emailField" placeholder="Enter your email address" autocomplete="off"> 633</div> 634</div> 635</form> 636</div> 637<!-- ââ Shared alert area âââââââââââââââââââââââââââââââââââ --> 638<div id="loginAlert" class="login-alert text-center"></div> 639</div> 640<div class="modal-footer"> 641<!-- Login screen buttons --> 642<div id="loginFooterBtns" style="width:100%;display:flex;flex-direction:column;gap:10px;"> 643<button type="button" id="loginSubmitted" class="btn-login"> 644<i class="fas fa-sign-in-alt" style="margin-right:7px;"></i>Login 645</button> 646<button type="button" class="btn-forgot forgotUorP">Forgot Password?</button> 647</div> 648<!-- Forgot screen button --> 649<div id="forgotFooterBtns" style="width:100%;display:none;"> 650<button type="button" id="submitRetrievePassword" class="btn-login">Send Reset Email</button> 651</div> 652</div> 653</div> 654</div> 655</div>
656<script> 657// Toggle footer buttons when switching screens 658$(document).ready(function(){ 659$('.forgotUorP').on('click', function(){ 660$('#loginFooterBtns').hide(); 661$('#forgotFooterBtns').show(); 662}); 663$('.btn-back-login').on('click', function(){ 664$('#loginFooterBtns').show(); 665$('#forgotFooterBtns').hide(); 666}); 667}); 668</script>
668 669<header class="omsHeader"> 670</header> 671<style> 672@media (max-width: 991px) { 673.omsNav .navbar-nav, 674.omsNav .dropdown-menu { 675text-align: center; 676font-size: 1.2rem; 677} 678.navbar-collapse { 679text-align: center; 680} 681} 682@media (min-width: 992px) { 683.navbar-expand-lg .navbar-nav .nav-link { 684padding-right: .75rem; 685padding-left: .75rem; 686} 687} 688.omsLogo img { 689width: 120px; 690height: auto !important; 691} 692@media (min-width: 1200px) { 693.omsLogo img { 694width: 150px; 695} 696.navbar-expand-lg .navbar-nav .nav-link { 697padding-right: 1.5rem; 698padding-left: 1.5rem; 699font-size: 1.1rem; 700} 701} 702.omsNav .navbar-wrapper a:not(.btn):hover { 703color: var(--primary) !important; 704} 705</style> 706<div class="omsNav fixed-top navbar-light bg-white shadow" style="" data-id="5" data-original-title="" title=""> 707<div class="pre-nav bg-dark text-light py-2 small" data-original-title="" title=""> 708<div class="container d-flex justify-content-between align-items-center" data-original-title="" title=""> 709<div class="left" data-original-title="" title=""> 710<a class="mr-3 text-light" href="tel:303-470-9702" data-original-title="" title=""><i class="fas fa-phone text-secondary fa-fw mr-1"></i>Call<span class="d-none d-sm-inline-block" data-original-title="" title="">: 303-470-9702</span></a> 711<a class="mr-3 text-light" href="/contact" data-original-title="" title=""><i class="fas fa-envelope text-secondary fa-fw mr-1"></i><span class="d-none d-lg-inline-block" data-original-title="" title="">Send Us an</span> Email</a> 712</div> 713<div class="right" data-original-title="" title=""> 714<div class="socials ml-2 pl-2" data-original-title="" title=""> 715<a class="ml-1 social-facebook" href="https://www.facebook.com/greinerelectric/ " target="_blank" data-original-title="" title=""><i class="fab fa-facebook-square fa-fw text-light"></i></a> 716<a class="ml-1 social-instagram" href="https://www.instagram.com/greinerelectric/?hl=en " target="_blank" data-original-title="" title=""><i class="fab fa-instagram fa-fw text-light"></i></a> 717<a class="ml-1 social-yelp" href="" target="_blank" data-original-title="" title=""><i class="fab fa-yelp fa-fw text-light"></i></a> 718<a class="ml-1 social-tripadvisor" href="" target="_blank" data-original-title="" title=""><i class="fab fa-tripadvisor fa-fw text-light"></i></a> 719<a class="ml-1 social-twitter" href="" target="_blank" data-original-title="" title=""><i class="fab fa-twitter fa-fw text-light"></i></a> 720<a class="ml-1 social-linkedin" href="https://www.linkedin.com/company/greiner-electric/ " target="_blank" data-original-title="" title=""><i class="fab fa-linkedin fa-fw text-light"></i></a> 721<a class="ml-1 social-pinterest" href="" target="_blank" data-original-title="" title=""><i class="fab fa-pinterest fa-fw text-light"></i></a> 722<a class="ml-1 social-youtube" href="" target="_blank" data-original-title="" title=""><i class="fab fa-youtube-square fa-fw text-light"></i></a> 723</div> 724</div> 725</div> 726</div> 727<nav class="navbar navbar-expand-lg px-0"> 728<div class="container navbar-wrapper px-3" data-original-title="" title=""> 729<div class="d-flex align-items-center" data-original-title="" title=""> 730<a class="navbar-brand omsLogo" href="/Home" style="position: relative;" data-original-title="" title=""><img alt='Greiner Electric logo' class='img-fluid' src='/userfiles/2482/images/logo-- Copy_11280211.png'></a> 731</div> 732<button aria-controls="omsDefaultNav" aria-expanded="false" aria-label="Toggle navigation" class="navbar-toggler collapsed p-2 ml-3" data-target="#omsDefaultNav" data-toggle="collapse" type="button"> 733<i class="fas fa-bars fa-2x fa-fw d-flex align-items-center justify-content-center text-primary" style="font-size: 1.75rem; width: 30px; height: 30px;"></i> 734</button> 735<div class="collapse navbar-collapse ml-md-4" data-original-title="" id="omsDefaultNav" style="justify-content: flex-end; min-height: auto;" title=""><ul class="nav navbar-nav"> 736<li class="nav-item"><!--nav-item dropdown class to li----> 737<a class="nav-link" href="//greinerelectric.com/People" data-level="1">Our People</a> 738</li> 739<li class="nav-item"><!--nav-item dropdown class to li----> 740<a class="nav-link" href="//greinerelectric.com/Our-Experience" data-level="1">Our Experience</a> 741</li> 742<li class="nav-item dropdown"><!--nav-item dropdown class to li----> 743<a class="nav-link dropdown-toggle" href="javascript: void(0)" aria-haspopup="true" aria-expanded="false" data-toggle="dropdown" data-level="1">About</a> 744<div class="dropdown-menu"> 745<a class="dropdown-item" href="//greinerelectric.com/Construction" data-level="2">Construction</a> 746<a class="dropdown-item" href="//greinerelectric.com/Oil-Gas" data-level="2">Oil & Gas</a> 747<a class="dropdown-item" href="//greinerelectric.com/Service" data-level="2">Service Department</a> 748</div> 749</li> 750<li class="nav-item"><!--nav-item dropdown class to li----> 751<a class="nav-link" href="//greinerelectric.com/Your-Opportunity" data-level="1">Your Opportunity</a> 752</li> 753<li class="nav-item"><!--nav-item dropdown class to li----> 754<a class="nav-link" href="//greinerelectric.com/Locations" data-level="1">Locations</a> 755</li> 756<li class="nav-item"><!--nav-item dropdown class to li----> 757<a class="nav-link" href="//greinerelectric.com/Recent-News" data-level="1">Recent News</a> 758</li> 759<li class="nav-item"><!--nav-item dropdown class to li----> 760<a class="nav-link" href="//greinerelectric.com/Contact" data-level="1">Contact Us</a> 761</li> 762</ul> 763</div> 764</div> 765</nav> 766</div> 767<!-- Wrapper --> 768<div class="wrapper wrapper-home blog-cards-wrapper"> 769<div id="savecontent"> 770<style> 771.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child >
771 .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { 772border-top: 1px solid #ccc; 773border-bottom: 1px solid #ccc; 774border-right: 1px solid #ccc; 775} 776.panel-body ul { margin-left: 0; padding-left: 10px; } 777.blog-item-image:hover { 778opacity: 0.8; 779} 780.blog .blog-desc a { 781text-decoration: none; 782} 783.blog-item-feature .btn.btn-xs.btn-custom, 784.blog-desc .btn.btn-primary.btn-custom, 785.blog-panel-body .blog-tag-more { 786margin-top: 10px !important; 787border: 1px solid var(--primary); 788background: transparent; 789color: var(--primary); 790font-size: 14px; 791padding: 2px 6px; 792transition: all 0.3s ease; 793} 794</style>
795<script> 796$(function() { 797if(window.location.hash) { 798scrollToAnchor(window.location.hash); 799} 800$("#submitBlogSearch").click(function() { 801console.log( $("#blogSearchForm").attr("action") ); 802//if( $("#blogSearchForm").attr("action") ) { 803//} 804}); 805}); 806function scrollToAnchor(aid){ 807var aTag = $("a[name='"+ aid.replace("#","") +"']"); 808console.dir(aTag) 809$('html,body').animate({scrollTop: aTag.offset().top - 180},'slow'); 810} 811</script>
811 812<section class="py-4 py-lg-5 bg-light w-100"> 813<div class="container"> 814<div class="row flex-md-row-reverse"> 815</div> 816</div> 817<a name="brsection"></a> 818<div class="container blog-wrapper"> 819<div class="row"> 820<div class="col-sm-12"> 821<div class="row py-3 wow animated fadeIn" data-wow-delay=".75s"> 822<div class="col-12 col-lg-6 py-3"> 823<div class="blog blog-roll p-3 h-100 d-flex align-items-center bg-white shadow" style="border: 0;"> 824<div class="blog-desc"> 825<div class="row justify-content-center align-items-center"> 826<div class="col-12 col-sm-6"> 827<div class="blog-item-image"><a href="/blog/18059/Greiner-Earns-2-ABC-Awards-Project-of-the-Year-and-Safety-Professional-of-the-Year"><img class="img-responsive img-fluid mb-3 mb-sm-0" src="/userfiles/2482/images/ABC_BrentDugan_Safetydirector.jpeg?t=20260806100843" alt="" style="margin: 0; width:100%;"></a></div> 828</div> 829<div class="col-12 col-sm-6"> 830<div class="blog-item-feature" style="padding-top: 0;"> 831<a href="/blog/18059/Greiner-Earns-2-ABC-Awards-Project-of-the-Year-and-Safety-Professional-of-the-Year"><h5 style="font-size: 22px;" class="blogTitle mb-1">Greiner Earns 2 ABC Awards: Project of the Year and Safety Professional of the Year</h5></a><span style="font-size: 13px;" class="d-block text-muted mb-2">By Kelly Anton - August 6, 2026</span> 832<a class="btn btn-sm btn-primary" href="/blog/18059/Greiner-Earns-2-ABC-Awards-Project-of-the-Year-and-Safety-Professional-of-the-Year" style="padding: 2px 6px; font-size: 13px;">Read Post...</a> 833</div> 834</div> 835</div> 836</div><!-- close blog desc --> 837</div><!-- close blog --> 838</div> 839<div class="col-12 col-lg-6 py-3"> 840<div class="blog blog-roll p-3 h-100 d-flex align-items-center bg-white shadow" style="border: 0;"> 841<div class="blog-desc"> 842<div class="row justify-content-center align-items-center"> 843<div class="col-12 col-sm-6"> 844<div class="blog-item-image"><a href="/blog/18057/Greiner-Earns-2-AGC-ACE-Awards-for-Best-Building-Project-in-2025"><img class="img-responsive img-fluid mb-3 mb-sm-0" src="/userfiles/2482/images/AGC_ACE_AcceptancePhoto_1200.jpg?t=20260806100809" alt="" style="margin: 0; width:100%;"></a></div> 845</div> 846<div class="col-12 col-sm-6"> 847<div class="blog-item-feature" style="padding-top: 0;"> 848<a href="/blog/18057/Greiner-Earns-2-AGC-ACE-Awards-for-Best-Building-Project-in-2025"><h5 style="font-size: 22px;" class="blogTitle mb-1">Greiner Earns 2 AGC ACE Awards for Best Building Project in 2025</h5></a><span style="font-size: 13px;" class="d-block text-muted mb-2">By Kelly Anton - August 6, 2026</span> 849<a class="btn btn-sm btn-primary" href="/blog/18057/Greiner-Earns-2-AGC-ACE-Awards-for-Best-Building-Project-in-2025" style="padding: 2px 6px; font-size: 13px;">Read Post...</a> 850</div> 851</div> 852</div> 853</div><!-- close blog desc --> 854</div><!-- close blog --> 855</div> 856<div class="col-12 col-lg-6 py-3"> 857<div class="blog blog-roll p-3 h-100 d-flex align-items-center bg-white shadow" style="border: 0;"> 858<div class="blog-desc"> 859<div class="row justify-content-center align-items-center"> 860<div class="col-12 col-sm-6"> 861</div> 862<div class="col-12 col-sm-6"> 863<div class="blog-item-feature" style="padding-top: 0;"> 864<a href="/blog/16616/Form-1095"><h5 style="font-size: 22px;" class="blogTitle mb-1">Form 1095</h5></a><span style="font-size: 13px;" class="d-block text-muted mb-2">By Jay Moan - March 3, 2026</span> 865<a class="btn btn-sm btn-primary" href="/blog/16616/Form-1095" style="padding: 2px 6px; font-size: 13px;">Read Post...</a> 866</div> 867</div> 868</div> 869</div><!-- close blog desc --> 870</div><!-- close blog --> 871</div> 872<div class="col-12 col-lg-6 py-3"> 873<div class="blog blog-roll p-3 h-100 d-flex align-items-center bg-white shadow" style="border: 0;"> 874<div class="blog-desc"> 875<div class="row justify-content-center align-items-center"> 876<div class="col-12 col-sm-6"> 877<div class="blog-item-image"><a href="/blog/12676/Greiner-Electric-Achieves-OSHA-CHASE-Blue-Level"><img class="img-responsive img-fluid mb-3 mb-sm-0" src="/userfiles/2482/images/CHASE-Blue.jpg?t=20231219091213" alt="" style="margin: 0; width:100%;"></a></div> 878</div> 879<div class="col-12 col-sm-6"> 880<div class="blog-item-feature" style="padding-top: 0;"> 881<a href="/blog/12676/Greiner-Electric-Achieves-OSHA-CHASE-Blue-Level"><h5 style="font-size: 22px;" class="blogTitle mb-1">Greiner Electric Achieves OSHA CHASE Blue Level</h5></a><span style="font-size: 13px;" class="d-block text-muted mb-2">December 4, 2023</span> 882<a class="btn btn-sm btn-primary" href="/blog/12676/Greiner-Electric-Achieves-OSHA-CHASE-Blue-Level" style="padding: 2px 6px; font-size: 13px;">Read Post...</a> 883</div> 884</div> 885</div> 886</div><!-- close blog desc --> 887</div><!-- close blog --> 888</div> 889<div class="col-12 col-lg-6 py-3"> 890<div class="blog blog-roll p-3 h-100 d-flex align-items-center bg-white shadow" style="border: 0;"> 891<div class="blog-desc"> 892<div class="row justify-content-center align-items-center"> 893<div class="col-12 col-sm-6"> 894<div class="blog-item-image"><a href="/blog/12674/Greiner-Electric-wins-the-2023-Colorado-Apprenticeship-Outstanding-Employer-Award"><img class="img-responsive img-fluid mb-3 mb-sm-0" src="/userfiles/2482/images/2023_Outstanding_Employeraward.png?t=202312
89418121215" alt="" style="margin: 0; width:100%;"></a></div> 895</div> 896<div class="col-12 col-sm-6"> 897<div class="blog-item-feature" style="padding-top: 0;"> 898<a href="/blog/12674/Greiner-Electric-wins-the-2023-Colorado-Apprenticeship-Outstanding-Employer-Award"><h5 style="font-size: 22px;" class="blogTitle mb-1">Greiner Electric wins the 2023 Colorado Apprenticeship Outstanding Employer Award</h5></a><span style="font-size: 13px;" class="d-block text-muted mb-2">November 17, 2023</span> 899<a class="btn btn-sm btn-primary" href="/blog/12674/Greiner-Electric-wins-the-2023-Colorado-Apprenticeship-Outstanding-Employer-Award" style="padding: 2px 6px; font-size: 13px;">Read Post...</a> 900</div> 901</div> 902</div> 903</div><!-- close blog desc --> 904</div><!-- close blog --> 905</div> 906</div> 907</div><!-- close col --> 908</div> <!-- / .row --> 909</section> 910</div> <!-- / .container --> 911</div> 912</div> <!-- / .wrapper --> 913<!-- daldals --> 914<!--Footer--> 915<footer class="omsFooter "> 916<div class="container-fluid bg-dark py-5 py-lg-6 omsfooter" data-original-title="" title=""><div class="container" data-original-title="" title=""><style data-styleurl_id="styletag_28" type="text/css"> 917footer { 918background: #50575e; 919font-size: 0.85rem!important; 920} 921footer a { 922color: #fff; 923} 924footer .brand img { 925width: 100%; 926height: auto; 927max-width: 130px; 928} 929footer .copyright { 930padding-top: 1rem; 931} 932@media(min-width:992px) { 933footer .copyright { 934padding-top: 0rem; 935display: flex; 936flex-wrap: wrap; 937flex-direction: row; 938justify-content: space-between; 939} 940.footerLinks, 941.footerCopy, 942.footerDWD { 943display: inline; 944padding: 0 3px; 945margin: 1rem 0 0 0; 946color: #fff; 947} 948.footerLinks { 949order: 3; 950width: 33%; 951color: #fff; 952text-align: right; 953} 954.footerCopy { 955order: 2; 956width: 33%; 957text-align: center; 958} 959.footerDWD { 960order: 1; 961width: 33%; 962text-align: left; 963} 964} 965/* Footer Blog Widget */ 966footer .blog-image-col { 967padding-right: 0px; 968width: auto!important; 969max-width: none!important; 970flex: initial; 971margin: 0; 972} 973footer .blog-image-col img { 974width: 60px!important; 975height: 40px!important; 976border-radius: .15rem; 977} 978footer .blog-panel-header { 979margin-bottom: 0; 980padding: 0!important; 981} 982footer .oms-footer-blog-column .row:nth-child(even) { 983align-items: center!important; 984margin-bottom: 1rem; 985} 986footer a.blog-header-title { 987color: #fff!important; 988} 989.media.blog-item .blog-title:hover, .omsfooter a:hover { 990color: var(--secondary); 991text-decoration: none; 992} 993.badge.blog-posted { 994color: var(--light); 995opacity: .7; 996}</style><div class="row" data-original-title="" title=""><div class="col-12 col-lg-4" data-original-title="" title=""><a class="brand d-inline-block text-white mb-3" data-cke-saved-href="/home" href="/home" data-link="" target="_blank" data-target="" data-toggle="" data-original-title="" title=""><img alt='Greiner Electric logo' class='img-fluid' src='/userfiles/2482/images/original-logo_11280211.png'></a> <a class="text-white d-block py-1 mt-2" data-cke-saved-href="/contact-us" href="/contact-us" data-link="" data-original-title="" title=""> <i class="fas fa-map-marker fa-fw small mr-1"></i> Main Office:<br>12456 North Dumont Way, Littleton, CO 80125</a> <a class="text-white d-block py-1" data-cke-saved-href="tel:303-470-9702" href="tel:303-470-9702" data-original-title="" title=""> <i class="fas fa-phone fa-fw small mr-1"></i> 303-470-9702</a> <span class="text-white d-block py-1" data-original-title="" title=""> <i class="fas fa-print fa-fw small mr-1"></i> 303-470-9810</span> <span class="text-white d-block py-1 mb-3" data-original-title="" title=""> <i class="fas fa-clock fa-fw small mr-1"></i> 7:00AM - 5:00PM</span> <a class="mt-2 mr-1 d-inline-block" data-cke-saved-href="https://www.facebook.com/greinerelectric/ " href="https://www.facebook.com/greinerelectric/ " target="_blank" data-original-title="" title=""> <span class="fa-stack" data-original-title="" title=""> <i class="fas fa-circle fa-stack-2x" style="color: #50575e;"></i> <i class="fab fa-facebook fa-stack-1x fa-inverse"></i> </span> </a> <a class="mt-2 mr-1 d-inline-block" data-cke-saved-href="https://www.instagram.com/greinerelectric/?hl=en " href="https://www.instagram.com/greinerelectric/?hl=en " target="_blank" data-original-title="" title=""> <span class="fa-stack" data-original-title="" title=""> <i class="fas fa-circle fa-stack-2x" style="color: #50575e;"></i> <i class="fab fa-instagram fa-stack-1x fa-inverse"></i> </span> </a> <a class="mt-2 mr-1 d-inline-block" data-cke-saved-href="https://www.linkedin.com/company/greiner-electric/ " href="https://www.linkedin.com/company/greiner-electric/ " target="_blank" data-original-title="" title=""> <span class="fa-stack" data-original-title="" title=""> <i class="fas fa-circle fa-stack-2x" style="color: #50575e;"></i> <i class="fab fa-linkedin fa-stack-1x fa-inverse"></i> </span> </a> </div><div class="col-12 d-md-none" data-original-title="" title=""><hr class="my-5 border-secondary"></div><div class="col-12 col-lg-4 oms-footer-blog-column" data-original-title="" title=""><h5 class="text-white my-3">Recent Blogs</h5><div class="row" data-original-title="" title=""><!-- THIS IS THE NEW VERSION --> 997<style> 998.square-image::before {
999padding-top: 100%; 1000} 1001</style> 1002<div class="col-12 col-blog"> 1003<div class="media blog-item align-items-stretch my-2"> 1004<div class="media-body blog-content d-flex flex-column align-items-start"> 1005<a href="/blog/18059/Greiner-Earns-2-ABC-Awards-Project-of-the-Year-and-Safety-Professional-of-the-Year" class="blog-title">Greiner Earns 2 ABC Awards: Project of the Year and Safety Professional of the Year</a> 1006<span class="badge blog-posted p-0 mt-1">Posted Aug 6, 2026</span> 1007</div> 1008</div> 1009</div> 1010<style> 1011.square-image::before { 1012padding-top: 100%; 1013} 1014</style> 1015<div class="col-12 col-blog"> 1016<div class="media blog-item align-items-stretch my-2"> 1017<div class="media-body blog-content d-flex flex-column align-items-start"> 1018<a href="/blog/18057/Greiner-Earns-2-AGC-ACE-Awards-for-Best-Building-Project-in-2025" class="blog-title">Greiner Earns 2 AGC ACE Awards for Best Building Project in 2025</a> 1019<span class="badge blog-posted p-0 mt-1">Posted Aug 6, 2026</span> 1020</div> 1021</div> 1022</div></div><a data-original-title="" data-cke-saved-href="/recent-news" href="/recent-news" title="">All Blog Posts</a></div><div class="col-12 col-lg-4" data-original-title="" title=""><h5 class="text-white my-3">About Us</h5><p class="text-white">Serving Colorado and Wyomingâs commercial electrical needs statewide, we are a power-player in all building types. Greiner provides electrical services for commercial office, retail, mixed-use, high rise residential, hospitality, data-center, healthcare, and educational facilities.</p><a class="text-secondary" data-cke-saved-href="/Get-to-Know-Us" href="/Get-to-Know-Us" data-original-title="" title="">Learn More <i class="fas fa-chevron-right"></i></a></div><div class="col-12 d-md-none" data-original-title="" title=""><hr class="my-5 border-white"></div></div></div></div> 1023<a href="/Job-Openings" class="text-left pl-3 py-3 btn btn-lg btn-warning font-weight-bold" data-original-title="" style="transform: rotate(90deg); position: fixed; top: 300px; right: -43px; z-index: 10;" title="">Apply Now! 1024</a> 1025<div class="container-fluid small py-2 bg-black text-light copyrightWrapper"> 1026<style> 1027.copyrightWrapper a { 1028color: var(--light); 1029} 1030.copyrightWrapper a:hover { 1031text-decoration: underline; 1032} 1033. 1034</style> 1035<div class="copyright row"> 1036<div class="footerDWD col-12 col-lg-4 text-center text-lg-left py-1"> 1037<a href="http://denverwebsitedesigns.com" target="_blank">Site Designed by Denver Website Designs</a> 1038</div> 1039<div class="footerCopy col-12 col-lg-4 text-center py-1">©2026 Greiner Electric</div> 1040<div class="footerLinks col-12 col-lg-4 text-center text-lg-right py-1"> 1041<a class="sitemap-link" href="/sitemap.cfm">sitemap</a> | <a class="sitemap-xml-link" href="/greinerelectric-com-sitemap.xml">sitemap xml</a> | <a class="rss-link" href="/feed">rss feed</a> 1042| 1043<a data-toggle="modal" data-target="#omniaMgmtLoginModal">sign in</a> 1044</div> 1045</div> 1046</div> 1047</footer>
1048<script> 1049$(function() { 1050$("*[contenteditable]").prop("contenteditable",false); 1051$(".fancylogin").fancybox({ 1052type: "iframe", 1053href: "//greinerelectric.com/includes/loginForm_a.cfm?s=2482", 1054margin: 0, 1055closeBtn: false, 1056wrapCSS: "loginBox", 1057width: 320, 1058height: 230, 1059afterShow: function() { $("#userName").focus(); } }); 1060}); 1061</script>
1061 1062<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" crossorigin="anonymous"> 1063<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> 1064<!--[if lt IE 9]>
1065<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
vendor: 1 bytes, line 1065
1065
1066<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
1066 1067<![endif]-->
1068<script src="/js/jquery.cookie.js?v=1547685408"></script>
vendor: 1 bytes, line 1068
1068
1069<script> 1070wow = new WOW({ 1071boxClass: 'wow', // default 1072animateClass: 'animated', // default 1073offset: 30, // default 1074mobile: true, // default 1075live: true // default 1076}) 1077wow.init(); 1078</script>
1078 1079<style> 1080.wow {visibility: hidden;} 1081.social-twitter{display:none !important;} 1082.social-google{display:none !important;} 1083.social-zillow{display:none !important;} 1084.social-yelp{display:none !important;} 1085.social-youtube{display:none !important;} 1086.social-tripadvisor{display:none !important;} 1087.social-pinterest{display:none !important;} 1088.social-tiktok{display:none !important;} 1089</style> 1090<!-- Omnia JS -->
1091<script src="/js/omsBs4.js?v=1789679629"></script>
1091 1092<!-- ReCaptcha JS -->
1093<script> 1094(function(){ 1095if (window.grecaptcha || window.omsRecaptchaLoad || document.querySelector('script[src*="recaptcha/api.js"]')) return; 1096var loaded = false, pendingExec = false; 1097function load(){ 1098if (loaded) return; loaded = true; 1099var s = document.createElement('script'); 1100s.src = 'https://www.google.com/recaptcha/api.js?hl=en&onload=omsRecaptchaOnload'; 1101s.async = true; s.defer = true; 1102document.head.appendChild(s); 1103} 1104window.___grecaptcha_cfg = window.___grecaptcha_cfg || {}; 1105window.___grecaptcha_cfg.fns = window.___grecaptcha_cfg.fns || []; 1106var stub = window.grecaptcha = {}; 1107stub.ready = function(cb){ window.___grecaptcha_cfg.fns.push(cb); load(); }; 1108stub.getResponse = function(){ load(); return ''; }; 1109stub.execute = function(){ pendingExec = true; load(); }; 1110stub.render = function(){ load(); }; 1111stub.reset = function(){}; 1112window.omsRecaptchaOnload = function(){ 1113if (!pendingExec) return; 1114var tries = 0; 1115(function go(){ 1116try { window.grecaptcha.execute(); pendingExec = false; } 1117catch (e) { if (++tries < 20) setTimeout(go, 250); } 1118})(); 1119}; 1120var evs = ['pointerdown', 'keydown', 'touchstart', 'mousemove', 'scroll', 'focusin'];
1121function once(){ evs.forEach(function(e){ window.removeEventListener(e, once, true); }); load(); } 1122evs.forEach(function(e){ window.addEventListener(e, once, { capture: true, passive: true }); }); 1123window.omsRecaptchaLoad = load; 1124})(); 1125</script>
1125 1126<!-- Site Custom JS -->
1127<script src="//greinerelectric.com/js/additionalJS.cfm?pageid=70849&siteid=2482&v=1&ref=blog&editPage=0" id="additionalJSLink"></script>
1127 1128</div> 1129</div> 1130<div id="header_recaptcha" class="g-recaptcha" data-sitekey="6LdSEZEUAAAAAD355f5isunNsV8pIazt4c0UQzi9" data-size="invisible" data-callback="recaptcha_submit"></div> 1131</body> 1132</html>
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.