XML 59 R44.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of Revenue      
Revenue $ 5,206,760 $ 4,140,364 $ 3,073,636
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00% 100.00%
Manufacturing      
Disaggregation of Revenue      
Revenue $ 1,751,684 $ 1,426,962 $ 970,986
Percentage of revenue from contract with customer (as a percent) 33.60% 34.50% 31.60%
Technology      
Disaggregation of Revenue      
Revenue $ 1,114,382 $ 546,290 $ 385,702
Percentage of revenue from contract with customer (as a percent) 21.40% 13.20% 12.50%
Healthcare      
Disaggregation of Revenue      
Revenue $ 554,906 $ 584,023 $ 417,901
Percentage of revenue from contract with customer (as a percent) 10.60% 14.10% 13.60%
Education      
Disaggregation of Revenue      
Revenue $ 493,982 $ 445,638 $ 390,251
Percentage of revenue from contract with customer (as a percent) 9.50% 10.80% 12.70%
Office Buildings      
Disaggregation of Revenue      
Revenue $ 400,754 $ 349,235 $ 308,799
Percentage of revenue from contract with customer (as a percent) 7.70% 8.40% 10.10%
Retail, Restaurants and Entertainment      
Disaggregation of Revenue      
Revenue $ 310,381 $ 311,697 $ 213,386
Percentage of revenue from contract with customer (as a percent) 6.00% 7.50% 6.90%
Government      
Disaggregation of Revenue      
Revenue $ 301,837 $ 255,314 $ 174,813
Percentage of revenue from contract with customer (as a percent) 5.80% 6.20% 5.70%
Multi-Family and Residential      
Disaggregation of Revenue      
Revenue $ 181,780 $ 126,339 $ 112,779
Percentage of revenue from contract with customer (as a percent) 3.50% 3.00% 3.70%
Other      
Disaggregation of Revenue      
Revenue $ 97,054 $ 94,866 $ 99,019
Percentage of revenue from contract with customer (as a percent) 1.90% 2.30% 3.20%
New Construction      
Disaggregation of Revenue      
Revenue $ 2,853,239 $ 2,011,992 $ 1,421,784
Percentage of revenue from contract with customer (as a percent) 54.80% 48.60% 46.30%
Existing Building Construction      
Disaggregation of Revenue      
Revenue $ 1,337,023 $ 1,210,512 $ 963,461
Percentage of revenue from contract with customer (as a percent) 25.60% 29.20% 31.30%
Service Projects      
Disaggregation of Revenue      
Revenue $ 446,151 $ 382,155 $ 278,582
Percentage of revenue from contract with customer (as a percent) 8.60% 9.20% 9.10%
Service Calls, Maintenance and Monitoring      
Disaggregation of Revenue      
Revenue $ 570,347 $ 535,705 $ 409,809
Percentage of revenue from contract with customer (as a percent) 11.00% 13.00% 13.30%
Mechanical Segment      
Disaggregation of Revenue      
Revenue $ 3,946,022 $ 3,178,475 $ 2,542,623
Percentage of revenue from contract with customer (as a percent) 75.80% 76.80% 82.70%
Electrical Segment      
Disaggregation of Revenue      
Revenue $ 1,260,738 $ 961,889 $ 531,013
Percentage of revenue from contract with customer (as a percent) 24.20% 23.20% 17.30%