XML 56 R45.htm IDEA: XBRL DOCUMENT v3.25.1
Revenue Recognition - Schedule of revenue by market type (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Disaggregation of Revenue [Line Items]    
Contract revenues $ 833,620 $ 815,562
Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 100.00% 100.00%
T&D    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 461,769 $ 490,395
T&D | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 100.00% 100.00%
T&D | Transmission    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 269,773 $ 313,926
T&D | Transmission | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 32.40% 38.50%
T&D | Distribution    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 191,996 $ 176,469
T&D | Distribution | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 23.00% 21.60%
C&I    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 371,851 $ 325,167
C&I | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 100.00% 100.00%
C&I | Electrical construction    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 371,851 $ 325,167
C&I | Electrical construction | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 44.60% 39.90%