Quarterly report pursuant to Section 13 or 15(d)

Revenue - Narrative (Details)

v3.21.2
Revenue - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]          
Unbilled receivables, net $ 30,718   $ 30,718   $ 22,358
Contract with customer, liability 12,700   12,700   $ 10,100
Contract with customer, liability, revenue recognized     1,700 $ 1,500  
Revenue, remaining performance obligation $ 224,000   $ 224,000    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01          
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]          
Revenue, remaining performance obligation, expected timing of satisfaction, period 1 year   1 year    
Revenue, remaining performance obligation, percentage 90.00%   90.00%    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-07-01          
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]          
Revenue, remaining performance obligation, expected timing of satisfaction, period      
Revenue, remaining performance obligation, percentage 10.00%   10.00%    
Revenue from Contract with Customer Benchmark | Product Concentration Risk | Transferred at Point in Time          
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]          
Concentration risk, percentage 49.00% 50.00% 49.00% 50.00%  
Revenue from Contract with Customer Benchmark | Product Concentration Risk | Transferred over Time          
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]          
Concentration risk, percentage 51.00% 50.00% 51.00% 50.00%