XML 84 R70.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue Recognition - Schedule of Revenue by Contract Type (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Disaggregation of Revenue [Line Items]      
Contract revenues $ 2,498,289 $ 2,247,392 $ 2,071,159
Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 100.00% 100.00% 100.00%
Fixed price      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 1,523,338 $ 1,411,658 $ 1,265,401
Fixed price | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 61.00% 62.80% 61.10%
Unit price      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 443,536 $ 415,942 $ 281,781
Unit price | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 17.70% 18.50% 13.60%
T&E      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 531,415 $ 419,792 $ 523,977
T&E | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 21.30% 18.70% 25.30%
T&D      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 1,301,587 $ 1,154,378 $ 1,134,411
T&D | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 100.00% 100.00% 100.00%
T&D | Fixed price      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 559,861 $ 507,634 $ 564,266
T&D | Fixed price | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 43.00% 44.00% 49.70%
T&D | Unit price      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 369,710 $ 338,611 $ 228,229
T&D | Unit price | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 28.40% 29.30% 20.10%
T&D | T&E      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 372,016 $ 308,133 $ 341,916
T&D | T&E | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 28.60% 26.70% 30.20%
C&I      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 1,196,702 $ 1,093,014 $ 936,748
C&I | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 100.00% 100.00% 100.00%
C&I | Fixed price      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 963,477 $ 904,024 $ 701,135
C&I | Fixed price | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 80.50% 82.70% 74.80%
C&I | Unit price      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 73,826 $ 77,331 $ 53,552
C&I | Unit price | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 6.20% 7.10% 5.70%
C&I | T&E      
Disaggregation of Revenue [Line Items]      
Contract revenues $ 159,399 $ 111,659 $ 182,061
C&I | T&E | Product Concentration Risk | Revenue Benchmark      
Disaggregation of Revenue [Line Items]      
Concentration risk 13.30% 10.20% 19.50%