XML 28 R26.htm IDEA: XBRL DOCUMENT v3.20.1
Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Disaggregation of Revenue    
Revenue $ 700,131 $ 538,473
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00%
Industrial    
Disaggregation of Revenue    
Revenue $ 275,198 $ 168,660
Percentage of revenue from contract with customer (as a percent) 39.30% 31.30%
Education    
Disaggregation of Revenue    
Revenue $ 109,584 $ 66,743
Percentage of revenue from contract with customer (as a percent) 15.70% 12.40%
Office Buildings    
Disaggregation of Revenue    
Revenue $ 75,572 $ 66,212
Percentage of revenue from contract with customer (as a percent) 10.80% 12.30%
Healthcare    
Disaggregation of Revenue    
Revenue $ 99,259 $ 92,023
Percentage of revenue from contract with customer (as a percent) 14.20% 17.10%
Government    
Disaggregation of Revenue    
Revenue $ 38,981 $ 32,279
Percentage of revenue from contract with customer (as a percent) 5.60% 6.00%
Retail, Restaurants and Entertainment    
Disaggregation of Revenue    
Revenue $ 61,203 $ 59,391
Percentage of revenue from contract with customer (as a percent) 8.70% 11.00%
Multi-Family and Residential    
Disaggregation of Revenue    
Revenue $ 18,731 $ 30,235
Percentage of revenue from contract with customer (as a percent) 2.70% 5.60%
Other    
Disaggregation of Revenue    
Revenue $ 21,603 $ 22,930
Percentage of revenue from contract with customer (as a percent) 3.00% 4.30%
New Construction    
Disaggregation of Revenue    
Revenue $ 347,400 $ 223,960
Percentage of revenue from contract with customer (as a percent) 49.60% 41.60%
Existing Building Construction    
Disaggregation of Revenue    
Revenue $ 207,166 $ 182,296
Percentage of revenue from contract with customer (as a percent) 29.60% 33.80%
Service Projects    
Disaggregation of Revenue    
Revenue $ 51,648 $ 50,384
Percentage of revenue from contract with customer (as a percent) 7.40% 9.40%
Service Calls, Maintenance and Monitoring    
Disaggregation of Revenue    
Revenue $ 93,917 $ 81,833
Percentage of revenue from contract with customer (as a percent) 13.40% 15.20%
Mechanical Services    
Disaggregation of Revenue    
Revenue $ 565,464 $ 534,585
Percentage of revenue from contract with customer (as a percent) 80.80% 99.30%
Electrical Services    
Disaggregation of Revenue    
Revenue $ 134,667 $ 3,888
Percentage of revenue from contract with customer (as a percent) 19.20% 0.70%