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 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]          
Percentage of revenue recognized over time 95.00% 93.00% 94.00% 91.00%  
Contract with customer, liability, noncurrent $ 4,982,000   $ 4,982,000   $ 5,560,000
Contract with customer, asset, reclassified to receivable     464,712,000 $ 282,568,000  
Contract with customer, asset, revenue recognized     434,709,000 317,088,000  
Contract with customer, liability, revenue recognized     85,356,000 92,685,000  
Contract with customer, liability, billings     86,203,000 92,427,000  
Revenue, remaining performance obligation $ 2,154,526,000   $ 2,154,526,000    
Revenue, remaining performance obligation, percentage 31.00%   31.00%    
Capitalized contract cost, gross $ 1,735,000   $ 1,735,000   1,735,000
Capitalized project development costs, noncurrent 1,228,000   1,228,000   $ 1,080,000
Capitalized contract cost, project development costs $ 3,611,000 $ 2,048,000 9,546,000 13,081,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%