XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Disaggregation of Revenue        
Revenue $ 1,378,124 $ 1,120,012 $ 3,849,194 $ 3,023,176
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00% 100.00% 100.00%
Manufacturing        
Disaggregation of Revenue        
Revenue $ 469,173 $ 376,505 $ 1,271,348 $ 1,029,647
Percentage of revenue from contract with customer (as a percent) 34.00% 33.60% 33.00% 34.10%
Technology        
Disaggregation of Revenue        
Revenue $ 303,847 $ 165,717 $ 795,327 $ 393,250
Percentage of revenue from contract with customer (as a percent) 22.00% 14.80% 20.70% 13.00%
Healthcare        
Disaggregation of Revenue        
Revenue $ 133,130 $ 147,234 $ 431,329 $ 423,142
Percentage of revenue from contract with customer (as a percent) 9.70% 13.20% 11.20% 14.00%
Education        
Disaggregation of Revenue        
Revenue $ 139,206 $ 133,422 $ 376,637 $ 342,116
Percentage of revenue from contract with customer (as a percent) 10.10% 11.90% 9.80% 11.30%
Office Buildings        
Disaggregation of Revenue        
Revenue $ 104,937 $ 94,931 $ 299,103 $ 255,963
Percentage of revenue from contract with customer (as a percent) 7.60% 8.50% 7.80% 8.50%
Retail, Restaurants and Entertainment        
Disaggregation of Revenue        
Revenue $ 77,802 $ 84,354 $ 234,779 $ 230,370
Percentage of revenue from contract with customer (as a percent) 5.60% 7.50% 6.10% 7.60%
Government        
Disaggregation of Revenue        
Revenue $ 85,220 $ 63,070 $ 227,232 $ 186,747
Percentage of revenue from contract with customer (as a percent) 6.30% 5.60% 5.90% 6.20%
Multi-Family and Residential        
Disaggregation of Revenue        
Revenue $ 45,523 $ 34,310 $ 136,825 $ 88,924
Percentage of revenue from contract with customer (as a percent) 3.30% 3.10% 3.50% 2.90%
Other        
Disaggregation of Revenue        
Revenue $ 19,286 $ 20,469 $ 76,614 $ 73,017
Percentage of revenue from contract with customer (as a percent) 1.40% 1.80% 2.00% 2.40%
New Construction        
Disaggregation of Revenue        
Revenue $ 798,289 $ 524,122 $ 2,108,153 $ 1,438,453
Percentage of revenue from contract with customer (as a percent) 57.90% 46.80% 54.80% 47.60%
Existing Building Construction        
Disaggregation of Revenue        
Revenue $ 305,795 $ 346,683 $ 974,085 $ 910,284
Percentage of revenue from contract with customer (as a percent) 22.20% 31.00% 25.30% 30.10%
Service Projects        
Disaggregation of Revenue        
Revenue $ 117,202 $ 103,439 $ 335,053 $ 273,663
Percentage of revenue from contract with customer (as a percent) 8.50% 9.20% 8.70% 9.00%
Service Calls, Maintenance and Monitoring        
Disaggregation of Revenue        
Revenue $ 156,838 $ 145,768 $ 431,903 $ 400,776
Percentage of revenue from contract with customer (as a percent) 11.40% 13.00% 11.20% 13.30%
Mechanical Segment [Member]        
Disaggregation of Revenue        
Revenue $ 1,031,310 $ 858,768 $ 2,925,848 $ 2,318,036
Percentage of revenue from contract with customer (as a percent) 74.80% 76.70% 76.00% 76.70%
Electrical Segment [Member]        
Disaggregation of Revenue        
Revenue $ 346,814 $ 261,244 $ 923,346 $ 705,140
Percentage of revenue from contract with customer (as a percent) 25.20% 23.30% 24.00% 23.30%