XML 60 R46.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Disaggregation of Revenue      
Revenue $ 2,856,659 $ 2,615,277  
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00%  
Industrial      
Disaggregation of Revenue      
Revenue $ 1,112,075 $ 886,668  
Percentage of revenue from contract with customer (as a percent) 38.90% 33.90%  
Education      
Disaggregation of Revenue      
Revenue $ 487,922 $ 412,318  
Percentage of revenue from contract with customer (as a percent) 17.10% 15.80%  
Office Buildings      
Disaggregation of Revenue      
Revenue $ 319,426 $ 348,640  
Percentage of revenue from contract with customer (as a percent) 11.20% 13.30%  
Healthcare      
Disaggregation of Revenue      
Revenue $ 371,105 $ 358,155  
Percentage of revenue from contract with customer (as a percent) 13.00% 13.70%  
Government      
Disaggregation of Revenue      
Revenue $ 163,717 $ 162,507  
Percentage of revenue from contract with customer (as a percent) 5.70% 6.20%  
Retail, Restaurants and Entertainment      
Disaggregation of Revenue      
Revenue $ 239,541 $ 248,083  
Percentage of revenue from contract with customer (as a percent) 8.40% 9.50%  
Multi-Family and Residential      
Disaggregation of Revenue      
Revenue $ 86,799 $ 104,693  
Percentage of revenue from contract with customer (as a percent) 3.00% 4.00%  
Other      
Disaggregation of Revenue      
Revenue $ 76,074 $ 94,213  
Percentage of revenue from contract with customer (as a percent) 2.70% 3.60%  
New Construction      
Disaggregation of Revenue      
Revenue $ 1,333,739 $ 1,201,122  
Percentage of revenue from contract with customer (as a percent) 46.70% 45.90%  
Existing Building Construction      
Disaggregation of Revenue      
Revenue $ 910,807 $ 793,159  
Percentage of revenue from contract with customer (as a percent) 31.90% 30.30%  
Service Projects      
Disaggregation of Revenue      
Revenue $ 241,402 $ 231,228  
Percentage of revenue from contract with customer (as a percent) 8.40% 8.90%  
Service Calls, Maintenance and Monitoring      
Disaggregation of Revenue      
Revenue $ 370,711 $ 389,768  
Percentage of revenue from contract with customer (as a percent) 13.00% 14.90%  
Mechanical Services      
Disaggregation of Revenue      
Revenue $ 2,413,016 $ 2,251,560  
Percentage of revenue from contract with customer (as a percent) 84.50% 86.10%  
Electrical Services      
Disaggregation of Revenue      
Revenue $ 443,643 $ 363,717  
Percentage of revenue from contract with customer (as a percent) 15.50% 13.90%  
Calculated under Revenue Guidance in Effect before Topic 606 [Member]      
Disaggregation of Revenue      
Revenue     $ 2,182,879
Percentage of revenue from contract with customer (as a percent)     100.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Industrial      
Disaggregation of Revenue      
Revenue     $ 596,557
Percentage of revenue from contract with customer (as a percent)     27.30%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Education      
Disaggregation of Revenue      
Revenue     $ 391,937
Percentage of revenue from contract with customer (as a percent)     18.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Office Buildings      
Disaggregation of Revenue      
Revenue     $ 288,090
Percentage of revenue from contract with customer (as a percent)     13.20%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Healthcare      
Disaggregation of Revenue      
Revenue     $ 319,958
Percentage of revenue from contract with customer (as a percent)     14.70%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Government      
Disaggregation of Revenue      
Revenue     $ 143,958
Percentage of revenue from contract with customer (as a percent)     6.60%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Retail, Restaurants and Entertainment      
Disaggregation of Revenue      
Revenue     $ 225,348
Percentage of revenue from contract with customer (as a percent)     10.30%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Multi-Family and Residential      
Disaggregation of Revenue      
Revenue     $ 136,075
Percentage of revenue from contract with customer (as a percent)     6.20%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Other      
Disaggregation of Revenue      
Revenue     $ 80,956
Percentage of revenue from contract with customer (as a percent)     3.70%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | New Construction      
Disaggregation of Revenue      
Revenue     $ 829,978
Percentage of revenue from contract with customer (as a percent)     38.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Existing Building Construction      
Disaggregation of Revenue      
Revenue     $ 796,946
Percentage of revenue from contract with customer (as a percent)     36.50%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Service Projects      
Disaggregation of Revenue      
Revenue     $ 206,506
Percentage of revenue from contract with customer (as a percent)     9.50%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Service Calls, Maintenance and Monitoring      
Disaggregation of Revenue      
Revenue     $ 349,449
Percentage of revenue from contract with customer (as a percent)     16.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Mechanical Services      
Disaggregation of Revenue      
Revenue     $ 2,176,223
Percentage of revenue from contract with customer (as a percent)     99.70%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Electrical Services      
Disaggregation of Revenue      
Revenue     $ 6,656
Percentage of revenue from contract with customer (as a percent)     0.30%