PageSourceSearch

https://greinerelectric.com/Recent-News

html greinerelectric.com collected 2026-09-30 18:48:06 UTC 48,416 bytes, 1,132 lines download raw bytes

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">&#x2715;</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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp; <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&nbsp;&nbsp;<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">&copy;2026&nbsp;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.