XML 58 R44.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Disaggregation of Revenue      
Revenue $ 3,073,636 $ 2,856,659 $ 2,615,277
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00% 100.00%
Industrial      
Disaggregation of Revenue      
Revenue $ 1,356,688 $ 1,112,075 $ 886,668
Percentage of revenue from contract with customer (as a percent) 44.10% 38.90% 33.90%
Education      
Disaggregation of Revenue      
Revenue $ 390,251 $ 487,922 $ 412,318
Percentage of revenue from contract with customer (as a percent) 12.70% 17.10% 15.80%
Office Buildings      
Disaggregation of Revenue      
Revenue $ 308,799 $ 319,426 $ 348,640
Percentage of revenue from contract with customer (as a percent) 10.10% 11.20% 13.30%
Healthcare      
Disaggregation of Revenue      
Revenue $ 417,901 $ 371,105 $ 358,155
Percentage of revenue from contract with customer (as a percent) 13.60% 13.00% 13.70%
Government      
Disaggregation of Revenue      
Revenue $ 174,813 $ 163,717 $ 162,507
Percentage of revenue from contract with customer (as a percent) 5.70% 5.70% 6.20%
Retail, Restaurants and Entertainment      
Disaggregation of Revenue      
Revenue $ 213,386 $ 239,541 $ 248,083
Percentage of revenue from contract with customer (as a percent) 6.90% 8.40% 9.50%
Multi-Family and Residential      
Disaggregation of Revenue      
Revenue $ 112,779 $ 86,799 $ 104,693
Percentage of revenue from contract with customer (as a percent) 3.70% 3.00% 4.00%
Other      
Disaggregation of Revenue      
Revenue $ 99,019 $ 76,074 $ 94,213
Percentage of revenue from contract with customer (as a percent) 3.20% 2.70% 3.60%
New Construction      
Disaggregation of Revenue      
Revenue $ 1,421,784 $ 1,333,739 $ 1,201,122
Percentage of revenue from contract with customer (as a percent) 46.30% 46.70% 45.90%
Existing Building Construction      
Disaggregation of Revenue      
Revenue $ 963,461 $ 910,807 $ 793,159
Percentage of revenue from contract with customer (as a percent) 31.30% 31.90% 30.30%
Service Projects      
Disaggregation of Revenue      
Revenue $ 278,582 $ 241,402 $ 231,228
Percentage of revenue from contract with customer (as a percent) 9.10% 8.40% 8.90%
Service Calls, Maintenance and Monitoring      
Disaggregation of Revenue      
Revenue $ 409,809 $ 370,711 $ 389,768
Percentage of revenue from contract with customer (as a percent) 13.30% 13.00% 14.90%
Mechanical Services      
Disaggregation of Revenue      
Revenue $ 2,542,623 $ 2,430,632 $ 2,272,031
Percentage of revenue from contract with customer (as a percent) 82.70% 85.10% 86.90%
Electrical Services      
Disaggregation of Revenue      
Revenue $ 531,013 $ 426,027 $ 343,246
Percentage of revenue from contract with customer (as a percent) 17.30% 14.90% 13.10%