Quarterly report pursuant to Section 13 or 15(d)

Revenue from Contracts with Customers - Additional Information (Details)

v3.20.2
Revenue from Contracts with Customers - Additional Information (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Dec. 31, 2019
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]          
Percentage of revenue recognized over time 94.00% 92.00% 93.00% 91.00%  
Contract with customer, liability, noncurrent $ 5,035,000   $ 5,035,000   $ 5,560,000
Contract with customer, asset, reclassified to receivable     302,457,000 $ 201,908,000  
Contract with customer, asset, revenue recognized     287,087,000 220,062,000  
Contract with customer, liability, revenue recognized     33,851,000 38,854,000  
Contract with customer, liability, billings     33,276,000 35,172,000  
Revenue, remaining performance obligation $ 2,151,185,000   $ 2,151,185,000    
Revenue, remaining performance obligation, percentage 27.00%   27.00%    
Capitalized contract cost, gross $ 1,735,000   $ 1,735,000   1,735,000
Capitalized project development costs, noncurrent 550,000   550,000   $ 1,080,000
Capitalized contract cost, project development costs $ 4,258,000 $ 8,256,000 5,865,000 11,033,000  
Capitalized contract cost, impairment loss     $ 0 $ 0  
Minimum          
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]          
Contract receivable retainage percentage 5.00%   5.00%    
Maximum          
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]          
Contract receivable retainage percentage 10.00%   10.00%