XML 57 R46.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Disaggregation of Revenue        
Revenue $ 942,700 $ 865,064 $ 2,594,159 $ 2,316,551
Fixed price        
Disaggregation of Revenue        
Revenue 262,394 214,353 684,407 543,224
Unit price        
Disaggregation of Revenue        
Revenue 382,124 380,541 1,206,127 973,115
Cost reimbursable        
Disaggregation of Revenue        
Revenue 298,182 270,170 703,625 800,212
MSA        
Disaggregation of Revenue        
Revenue 384,735 366,891 990,454 1,008,083
Non-MSA        
Disaggregation of Revenue        
Revenue 557,965 498,173 1,603,705 1,308,468
Power        
Disaggregation of Revenue        
Revenue 212,557 200,657 566,226 518,210
Power | Fixed price        
Disaggregation of Revenue        
Revenue 66,939 136,040 331,125 316,288
Power | Unit price        
Disaggregation of Revenue        
Revenue 1,993 2,954 2,174 13,609
Power | Cost reimbursable        
Disaggregation of Revenue        
Revenue 143,625 61,663 232,927 188,313
Power | MSA        
Disaggregation of Revenue        
Revenue 35,297 43,680 98,897 136,564
Power | Non-MSA        
Disaggregation of Revenue        
Revenue 177,260 156,977 467,329 381,646
Pipeline        
Disaggregation of Revenue        
Revenue 214,380 133,590 695,462 405,647
Pipeline | Fixed price        
Disaggregation of Revenue        
Revenue 152,301 13,860 191,652 45,196
Pipeline | Unit price        
Disaggregation of Revenue        
Revenue 45,627 21,949 277,788 32,453
Pipeline | Cost reimbursable        
Disaggregation of Revenue        
Revenue 16,452 97,781 226,022 327,998
Pipeline | MSA        
Disaggregation of Revenue        
Revenue 29,403 29,110 108,952 71,112
Pipeline | Non-MSA        
Disaggregation of Revenue        
Revenue 184,977 104,480 586,510 334,535
Utilities        
Disaggregation of Revenue        
Revenue 298,984 281,561 676,329 650,079
Utilities | Fixed price        
Disaggregation of Revenue        
Revenue 23,117 31,462 77,889 84,349
Utilities | Unit price        
Disaggregation of Revenue        
Revenue 185,791 165,183 421,436 352,679
Utilities | Cost reimbursable        
Disaggregation of Revenue        
Revenue 90,076 84,916 177,004 213,051
Utilities | MSA        
Disaggregation of Revenue        
Revenue 230,099 189,606 516,711 481,439
Utilities | Non-MSA        
Disaggregation of Revenue        
Revenue 68,885 91,955 159,618 168,640
Transmission        
Disaggregation of Revenue        
Revenue 114,221 128,784 326,953 382,581
Transmission | Fixed price        
Disaggregation of Revenue        
Revenue 7,480 13,034 33,959 35,748
Transmission | Unit price        
Disaggregation of Revenue        
Revenue 68,952 110,869 254,761 332,389
Transmission | Cost reimbursable        
Disaggregation of Revenue        
Revenue 37,789 4,881 38,233 14,444
Transmission | MSA        
Disaggregation of Revenue        
Revenue 89,312 103,421 263,742 316,019
Transmission | Non-MSA        
Disaggregation of Revenue        
Revenue 24,909 25,363 63,211 66,562
Civil        
Disaggregation of Revenue        
Revenue 102,558 120,472 329,189 360,034
Civil | Fixed price        
Disaggregation of Revenue        
Revenue 12,557 19,957 49,782 61,643
Civil | Unit price        
Disaggregation of Revenue        
Revenue 79,761 79,586 249,968 241,985
Civil | Cost reimbursable        
Disaggregation of Revenue        
Revenue 10,240 20,929 29,439 56,406
Civil | MSA        
Disaggregation of Revenue        
Revenue 624 1,074 2,152 2,949
Civil | Non-MSA        
Disaggregation of Revenue        
Revenue $ 101,934 $ 119,398 $ 327,037 $ 357,085