XML 44 R45.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Disaggregation of Revenue    
Revenue $ 743,243 $ 661,558
Fixed price    
Disaggregation of Revenue    
Revenue 217,779 146,285
Unit price    
Disaggregation of Revenue    
Revenue 326,886 259,200
Cost reimbursable    
Disaggregation of Revenue    
Revenue 198,578 256,073
MSA    
Disaggregation of Revenue    
Revenue 270,408 292,879
Non-MSA    
Disaggregation of Revenue    
Revenue 472,835 368,679
Power    
Disaggregation of Revenue    
Revenue 196,193 145,383
Power | Fixed price    
Disaggregation of Revenue    
Revenue 144,850 75,143
Power | Unit price    
Disaggregation of Revenue    
Revenue 181 6,613
Power | Cost reimbursable    
Disaggregation of Revenue    
Revenue 51,162 63,627
Power | MSA    
Disaggregation of Revenue    
Revenue 37,095 49,195
Power | Non-MSA    
Disaggregation of Revenue    
Revenue 159,098 96,188
Pipeline    
Disaggregation of Revenue    
Revenue 191,523 134,814
Pipeline | Fixed price    
Disaggregation of Revenue    
Revenue 15,345 17,227
Pipeline | Unit price    
Disaggregation of Revenue    
Revenue 81,830 374
Pipeline | Cost reimbursable    
Disaggregation of Revenue    
Revenue 94,348 117,213
Pipeline | MSA    
Disaggregation of Revenue    
Revenue 46,732 21,849
Pipeline | Non-MSA    
Disaggregation of Revenue    
Revenue 144,791 112,965
Utilities    
Disaggregation of Revenue    
Revenue 147,170 146,206
Utilities | Fixed price    
Disaggregation of Revenue    
Revenue 24,089 22,767
Utilities | Unit price    
Disaggregation of Revenue    
Revenue 80,639 67,878
Utilities | Cost reimbursable    
Disaggregation of Revenue    
Revenue 42,442 55,561
Utilities | MSA    
Disaggregation of Revenue    
Revenue 104,011 119,462
Utilities | Non-MSA    
Disaggregation of Revenue    
Revenue 43,159 26,744
Transmission    
Disaggregation of Revenue    
Revenue 102,784 118,443
Transmission | Fixed price    
Disaggregation of Revenue    
Revenue 13,636 8,463
Transmission | Unit price    
Disaggregation of Revenue    
Revenue 88,789 105,841
Transmission | Cost reimbursable    
Disaggregation of Revenue    
Revenue 359 4,139
Transmission | MSA    
Disaggregation of Revenue    
Revenue 81,774 101,723
Transmission | Non-MSA    
Disaggregation of Revenue    
Revenue 21,010 16,720
Civil    
Disaggregation of Revenue    
Revenue 105,573 116,712
Civil | Fixed price    
Disaggregation of Revenue    
Revenue 19,859 22,685
Civil | Unit price    
Disaggregation of Revenue    
Revenue 75,447 78,494
Civil | Cost reimbursable    
Disaggregation of Revenue    
Revenue 10,267 15,533
Civil | MSA    
Disaggregation of Revenue    
Revenue 796 650
Civil | Non-MSA    
Disaggregation of Revenue    
Revenue $ 104,777 $ 116,062