XML 60 R50.htm IDEA: XBRL DOCUMENT v3.22.2.2
Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Disaggregation of Revenue        
Revenue $ 1,284,128 $ 913,245 $ 3,091,461 $ 2,613,184
Fixed price        
Disaggregation of Revenue        
Revenue 498,643 314,468 1,203,811 927,195
Unit price        
Disaggregation of Revenue        
Revenue 549,705 378,237 1,329,367 1,078,805
Cost reimbursable        
Disaggregation of Revenue        
Revenue 235,780 220,540 558,283 607,184
MSA        
Disaggregation of Revenue        
Revenue 605,847 466,631 1,451,390 1,218,094
Non-MSA        
Disaggregation of Revenue        
Revenue 678,281 446,614 1,640,071 1,395,090
Utilities        
Disaggregation of Revenue        
Revenue 613,008 454,654 1,447,857 1,215,087
Utilities | Fixed price        
Disaggregation of Revenue        
Revenue 58,602 33,280 123,742 90,142
Utilities | Unit price        
Disaggregation of Revenue        
Revenue 397,204 311,191 988,477 844,314
Utilities | Cost reimbursable        
Disaggregation of Revenue        
Revenue 157,202 110,183 335,638 280,631
Utilities | MSA        
Disaggregation of Revenue        
Revenue 516,363 410,041 1,226,511 1,039,743
Utilities | Non-MSA        
Disaggregation of Revenue        
Revenue 96,645 44,613 221,346 175,344
Energy/Renewables        
Disaggregation of Revenue        
Revenue 600,444 351,026 1,445,843 1,038,900
Energy/Renewables | Fixed price        
Disaggregation of Revenue        
Revenue 391,887 212,956 930,271 564,552
Energy/Renewables | Unit price        
Disaggregation of Revenue        
Revenue 140,361 65,904 327,624 231,715
Energy/Renewables | Cost reimbursable        
Disaggregation of Revenue        
Revenue 68,196 72,166 187,948 242,633
Energy/Renewables | MSA        
Disaggregation of Revenue        
Revenue 56,493 41,133 153,178 126,997
Energy/Renewables | Non-MSA        
Disaggregation of Revenue        
Revenue 543,951 309,893 1,292,665 911,903
Pipeline        
Disaggregation of Revenue        
Revenue 70,676 107,565 197,761 359,197
Pipeline | Fixed price        
Disaggregation of Revenue        
Revenue 48,154 68,232 149,798 272,501
Pipeline | Unit price        
Disaggregation of Revenue        
Revenue 12,140 1,142 13,266 2,776
Pipeline | Cost reimbursable        
Disaggregation of Revenue        
Revenue 10,382 38,191 34,697 83,920
Pipeline | MSA        
Disaggregation of Revenue        
Revenue 32,991 15,457 71,701 51,354
Pipeline | Non-MSA        
Disaggregation of Revenue        
Revenue $ 37,685 $ 92,108 $ 126,060 $ 307,843