/* Shared essentials; no libraries, remote fonts, scripts or form controls. */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; }
img { border: 0; max-width: 100%; }
figure { margin: 0; }
address { font-style: normal; line-height: 1.6; }
.phone-link { color: inherit !important; text-decoration: none; }
.phone-link:hover { text-decoration: underline; }
.clear, .clear-min, .clear-block::after { clear: both; }
.clear-block::after { content: ""; display: table; }
.clear-min { height: 1px; overflow: hidden; }
ul.links { list-style: none; padding: 0; margin: 0; }
ul.links li { display: inline; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 100; background: #fff; color: #111 !important; padding: .8rem 1rem; border: 2px solid #111; }
.skip-link:focus { top: 1rem; }
a:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid #de9b17; outline-offset: 4px; }
main:focus { outline: none; }
.contact-details { padding: 1rem 0; line-height: 1.6; }
.contact-details a { text-decoration: underline; }
.photo-strip { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; }
.photo-strip > img { flex: 0 0 100%; width: 100%; height: 100%; object-fit: cover; scroll-snap-align: start; }
.photo-strip:focus-visible { outline-offset: -4px; }
.project-gallery { display: grid; gap: 1rem; }
.project-gallery figure { text-align: center; background: #ddd; padding: 10px; }
.project-gallery img { width: auto; height: auto; max-height: 580px; }
.project-gallery figcaption { padding: .5rem; }
.unavailable-image { display: inline-block; font-style: italic; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  .skip-link, nav, #search, .facebook { display: none !important; }
  body { background: white !important; color: black !important; }
  main { width: auto !important; }
}

/* Original site design, with local images. */
a:visited,a:active,a{text-decoration:none;color:#000;}body{background:url("images/outer-bg-14c166093f.png") repeat-x;color:#666666;font-family:arial;font-size:12px;padding:0px;margin:0px;height:100%;}h2{font-size:20px;color:#000000;}h3{font-size:18px;font-style:italic;font-weight:normal;color:#000000;}#body-wrap{position:relative;margin:0px auto 0px;width:947px;min-height:100%;}#page-wrap{position:relative;min-height:100%;}#logo{position:absolute;width:140px;height:173px;top:0px;left:0px;z-index:10;}#search{height:20px;left:680px;position:absolute;top:20px;width:278px;z-index:5;}#search #searchfield:focus,#search #searchfield{background:url("images/search_bg-fef92ca49b.png") no-repeat;border:none !important;outline:none;margin-top:2px;height:18px;position:relative;top:-6px;width:209px;padding-left:8px;}#center-filler{background:url("images/inner-bg-b48f974b4e.png") repeat-x;height:700px;position:absolute;width:739px;left:181px;}body.front #center-filler{width:500px;}#center{float:left;padding:40px 35px 0px 50px;position:relative;width:665px;}body.front #center{padding:30px 32px 0px 45px;width:436px;}body.front.admin-menu #center{padding:15px 32px 0px 32px;}#home-left-chrome{background:url("images/home-left-chrome-d25e037a64.png") repeat-x;height:25px;left:3px;position:absolute;top:91px;width:42px;}#home-right-chrome-1{background:url("images/home-right-chrome-1-abfa0fedf4.png") no-repeat;height:15px;position:absolute;top:96px;right:0px;width:29px;}#home-right-chrome-2{background:url("images/home-right-chrome-2-bd55b29f91.png") no-repeat;height:10px;position:absolute;top:251px;right:0px;width:29px;}#front-slideshow{background:#ffffff;height:329px;width:440px;margin-bottom:10px;}#front-slideshow #slide-left{float:left;height:309px;margin:10px 5px 10px 10px;width:230px;}#front-slideshow #slide-top-right{float:left;height:120px;margin:10px 10px 5px 5px;width:180px;}#front-slideshow #slide-bottom-right{float:left;height:179px;margin:5px 10px 10px 5px;width:180px;}#content{padding-bottom:40px;z-index:2;position:relative;line-height:16px;}#border-left{background:url("images/left-border-8df86143a6.png") no-repeat;bottom:0px;height:500px;left:0px;position:absolute;top:60px;width:16px;}#border-right{background:url("images/right-border-109df680a5.png") no-repeat;bottom:0px;height:500px;right:-16px;position:absolute;top:60px;width:16px;}#left{float:left;padding-top:110px;padding-bottom:250px;position:relative;top:60px;width:166px;}#right{float:right;margin-top:60px;margin-bottom:s0px;width:11px}body.front #right{width:265px;}#footer{color:#666666;font-size:11px;margin:0px 0px 40px 213px;position:relative;width:675px;float:left;}#footer p{margin:5px;}#footer .copyright{color:#B0AFAF;font-size:11px;}#footer #hardhat{background:url("images/hardhat-d169daab8c.png") no-repeat;height:201px;left:-247px;top:-170px;position:absolute;width:992px;z-index:1;}#block-menu-primary-links{padding-top:30px;font-size:14px;}#block-menu-primary-links h2{display:none;}#block-menu-primary-links ul{list-style:none;}#block-menu-primary-links ul li{list-style:none;padding-right:25px;text-align:right;}#block-menu-primary-links ul li:hover,#block-menu-primary-links ul li.active-trail{background:url("images/active-link-d2739b21c9.png") no-repeat center right;}#block-menu-primary-links ul li a{list-style:none;text-decoration:none;color:#666666;line-height:25px;}#block-menu-primary-links ul li a:hover,#block-menu-primary-links ul li.active-trail a{color:#000000;}.yellow-block{padding-right:5px;}#title :is(h1,h2){font-weight:normal;margin-top:0;}body.page-node-project #title{display:none;}#gregg_block{position:relative;}#gregg_block h2{font-size:14px;font-weight:bold;line-height:15px;padding-top:0px;}#gregg_block_residential{padding:15px 0px 20px 25px;position:relative;border-bottom:5px solid #ffffff;}#gregg_block_residential_image{background:url("images/residential-icon-3f30f05a43.png") no-repeat;height:119px;left:120px;bottom:7px;width:172px;position:absolute;z-index:1;}#gregg_block_residential .text{position:relative;width:135px;z-index:2;}#gregg_block_commercial{position:relative;padding:0px 0px 20px 25px;}#gregg_block_commercial_image{background:url("images/commercial-icon-35f668668e.png") no-repeat;height:119px;left:120px;bottom:7px;width:172px;position:absolute;z-index:1;}#gregg_block_commercial .text{position:relative;width:140px;z-index:2;}#gregg_block_associations .text{padding:0px 0px 20px 25px;position:relative;}body.page-node-project .group-gallery-images legend{display:none;}body.page-node-project fieldset.group-gallery-images{padding:0px;}body.page-node-project fieldset.group-gallery-images .field-label{display:none;}body.page-node-project fieldset.group-gallery-images{border:none;}body.page-node-project #galleria-content #main-image{text-align:center;}body.page-node-project #galleria-content #main-image .galleria_wrapper{background:#dddddd;padding:10px;}body.page-node-project #galleria-content #main-image .caption{font-style:italic;}body.page-node-project #galleria-content .item-list{background:#dddddd;}body.page-node-project #galleria-content li.jcarousel-item{background:#bbbbbb;padding:0px;margin:8px 8px 8px 8px;}.jcarousel-clip-horizontal{height:98px;width:550px;margin-left:auto;margin-right:auto;}.galleria-nav{display:none !important;}span.wysiwyg_imageupload{float:none;padding:0;}span.wysiwyg_imageupload .image_meta{display:none;}img.imgupl_styles_float_right{float:right;clear:right;margin:0 0 10px 10px;}img.imgupl_styles_float_left{float:left;clear:left;margin:0 5px 5px 0;}img.imgupl_styles_padded{padding:5px;}.wysiwyg_red{color:#BC0227;font-weight:bold;}body.page-node-page .breadcrumb,body.page-node-project .breadcrumb{display:none;}#associations{background:url("images/home-links-icons-bg-d0a69e4b67.png") no-repeat;height:57px;width:266px;}#associations #neca{padding-left:14px;}#associations #ibew{padding-left:0px;}#associations #lcc{padding-left:0px;}#associations #bbb{padding-left:0px;}img.imagecache-pageimage{border:10px solid white;}.view-portfolio .views-row{position:relative;padding-bottom:40px;}.view-portfolio .views-field-title{width:514px;font-size:14px;text-transform:uppercase;font-weight:bold;}.view-portfolio .views-field-field-project-image-fid{position:absolute;right:0px;}.view-portfolio .views-field-field-project-image-fid img{border:10px solid #dddddd;}.view-portfolio .views-field-teaser{float:left;width:514px;}.view-portfolio .views-field-view-node{clear:left;}div#content .views-field-view-node span.field-content a{font-weight:bold;color:#CEA81C;}

/* Accessibility and responsive layout. */
#title h1 { font-size: 20px; color: #000; line-height: 1.15; }
#content h1 { font-size: 20px; color: #000; font-weight: normal; }
#search { height: auto; }
.header-phone { display: block; color: #555; text-align: right; padding: 4px 16px; font-size: 13px; }
#footer #hardhat { pointer-events: none; }
#front-slideshow #slide-left { float: left; height: 309px; margin: 10px 5px 10px 10px; width: 230px; }
#front-slideshow #slide-top-right { float: left; height: 120px; margin: 10px 10px 5px 5px; width: 180px; }
#front-slideshow #slide-bottom-right { float: left; height: 179px; margin: 5px 10px 10px 5px; width: 180px; }
#front-slideshow img { max-width: none; }
.view-portfolio .views-row { min-height: 130px; }
ul.pager { display: flex; justify-content: center; flex-wrap: wrap; gap: .25rem; padding: 0; list-style: none; }
.pager a, .pager-current { display: inline-block; padding: .6rem .8rem; }
#left nav ul { margin: 0; padding: 0 0 .25em 1em; }
#left nav li { display: block; }
@media (max-width: 1000px) {
  #body-wrap { width: calc(100% - 32px); max-width: 947px; }
  #page-wrap { display: grid; grid-template-columns: 166px minmax(0, 1fr); }
  #center, body.front #center { float: none; width: auto; min-width: 0; padding: 60px 28px 30px; }
  #left { float: none; width: auto; grid-column: 1; grid-row: 1 / 3; }
  #right, body.front #right { width: auto; float: none; grid-column: 2; margin: 0 28px 25px; }
  #gregg_block { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  #gregg_block_associations { grid-column: 1 / -1; }
  #gregg_block_residential, #gregg_block_commercial { border: 0; }
  #gregg_block_residential_image, #gregg_block_commercial_image { left: auto; right: 0; }
  #gregg_block_associations .text { padding-left: 0; }
  #center-filler { width: calc(100% - 181px) !important; }
  #search { left: auto; right: 0; width: auto; }
  #front-slideshow { display: grid; grid-template-columns: minmax(0, 230fr) minmax(0, 180fr); grid-template-rows: 120px 179px; gap: 10px; box-sizing: border-box; height: auto; width: 100%; padding: 10px; }
  #front-slideshow #slide-left, #front-slideshow #slide-top-right, #front-slideshow #slide-bottom-right { float: none; width: 100%; margin: 0; height: 100%; min-width: 0; }
  #front-slideshow #slide-left { grid-row: 1 / 3; }
  #footer { float: none; margin: 25px 0 40px 194px; width: auto; }
  #footer #hardhat { display: none; }
  .view-portfolio .views-field-title, .view-portfolio .views-field-teaser { width: calc(100% - 145px); }
  #home-left-chrome, #home-right-chrome-1, #home-right-chrome-2 { display: none; }
}
@media (max-width: 650px) {
  body { background-color: #f4f4f4; font-size: 15px; }
  #body-wrap { width: 100%; }
  #page-wrap { display: block; }
  #logo { position: relative; width: 112px; height: auto; margin-left: 20px; }
  #logo img { display: block; height: auto; }
  #search { top: 35px; right: 10px; max-width: calc(100% - 145px); }
  .header-phone { padding: 12px 4px; line-height: 1.4; }
  #left { padding: 16px 12px 0; top: 0; }
  #block-menu-primary-links { padding: 0; font-size: 15px; }
  #left nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 0; }
  #block-menu-primary-links ul li { text-align: center; padding: 0; background: none; }
  #block-menu-primary-links ul li a { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.3; padding: 0 10px; }
  #block-menu-primary-links a[aria-current="page"] { box-shadow: inset 0 -3px #f6bd19; }
  #center, body.front #center { padding: 20px 16px 0; }
  #content { line-height: 1.65; padding-bottom: 20px; overflow-wrap: anywhere; }
  #content img { box-sizing: border-box; height: auto; }
  #title h1, #content h1 { font-size: 23px; line-height: 1.3; }
  #right, body.front #right { margin: 12px 16px 25px; }
  #gregg_block { display: block; }
  #gregg_block_residential, #gregg_block_commercial { min-height: 105px; padding: 12px 0; }
  #gregg_block_residential .text, #gregg_block_commercial .text { width: calc(100% - 155px); }
  #gregg_block_residential_image, #gregg_block_commercial_image { right: 0; left: auto; }
  #gregg_block h2 { font-size: 17px; line-height: 1.3; }
  #gregg_block_associations .text { padding: 0; }
  #associations { margin: 12px 0; max-width: 100%; }
  #center-filler, #border-left, #border-right { display: none; }
  #footer { border-top: 3px solid #f6bd19; padding: 16px; margin: 0; line-height: 1.6; font-size: 12px; }
  #front-slideshow { grid-template-rows: 105px 145px; }
  .view-portfolio .views-field-title, .view-portfolio .views-field-teaser { width: calc(100% - 110px); }
  .view-portfolio .views-field-field-project-image-fid { width: 95px; }
  .view-portfolio .views-field-field-project-image-fid img { border-width: 5px; }
  .view-portfolio .views-row { min-height: 110px; }
  .project-gallery figure { padding: 6px; }
  fieldset.group-gallery-images { min-width: 0; }
}
