XML 64 R49.htm IDEA: XBRL DOCUMENT v3.25.0.1
Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Disaggregation of Revenue      
Revenue $ 7,027,476 $ 5,206,760 $ 4,140,364
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00% 100.00%
New Construction      
Disaggregation of Revenue      
Revenue $ 3,984,529 $ 2,853,239 $ 2,011,992
Percentage of revenue from contract with customer (as a percent) 56.70% 54.80% 48.60%
Existing Building Construction      
Disaggregation of Revenue      
Revenue $ 1,945,093 $ 1,337,023 $ 1,210,512
Percentage of revenue from contract with customer (as a percent) 27.70% 25.60% 29.20%
Service Projects      
Disaggregation of Revenue      
Revenue $ 468,950 $ 446,151 $ 382,155
Percentage of revenue from contract with customer (as a percent) 6.70% 8.60% 9.20%
Service Calls, Maintenance and Monitoring      
Disaggregation of Revenue      
Revenue $ 628,904 $ 570,347 $ 535,705
Percentage of revenue from contract with customer (as a percent) 8.90% 11.00% 13.00%
Technology      
Disaggregation of Revenue      
Revenue $ 2,331,362 $ 1,114,382 $ 546,290
Percentage of revenue from contract with customer (as a percent) 33.20% 21.40% 13.20%
Manufacturing      
Disaggregation of Revenue      
Revenue $ 1,919,403 $ 1,751,684 $ 1,426,962
Percentage of revenue from contract with customer (as a percent) 27.30% 33.60% 34.50%
Education      
Disaggregation of Revenue      
Revenue $ 702,706 $ 493,982 $ 445,638
Percentage of revenue from contract with customer (as a percent) 10.00% 9.50% 10.80%
Healthcare      
Disaggregation of Revenue      
Revenue $ 584,902 $ 554,906 $ 584,023
Percentage of revenue from contract with customer (as a percent) 8.30% 10.60% 14.10%
Office Buildings      
Disaggregation of Revenue      
Revenue $ 424,343 $ 400,754 $ 349,235
Percentage of revenue from contract with customer (as a percent) 6.00% 7.70% 8.40%
Retail, Restaurants and Entertainment      
Disaggregation of Revenue      
Revenue $ 377,302 $ 310,381 $ 311,697
Percentage of revenue from contract with customer (as a percent) 5.40% 6.00% 7.50%
Government      
Disaggregation of Revenue      
Revenue $ 375,201 $ 301,837 $ 255,314
Percentage of revenue from contract with customer (as a percent) 5.40% 5.80% 6.20%
Multi-Family and Residential      
Disaggregation of Revenue      
Revenue $ 142,133 $ 181,780 $ 126,339
Percentage of revenue from contract with customer (as a percent) 2.00% 3.50% 3.00%
Other      
Disaggregation of Revenue      
Revenue $ 170,124 $ 97,054 $ 94,866
Percentage of revenue from contract with customer (as a percent) 2.40% 1.90% 2.30%
Mechanical Segment      
Disaggregation of Revenue      
Revenue $ 5,527,604 $ 3,946,022 $ 3,178,475
Percentage of revenue from contract with customer (as a percent) 78.70% 75.80% 76.80%
Electrical Segment      
Disaggregation of Revenue      
Revenue $ 1,499,872 $ 1,260,738 $ 961,889
Percentage of revenue from contract with customer (as a percent) 21.30% 24.20% 23.20%