Quarterly report pursuant to Section 13 or 15(d)

Revenue - Narrative (Details)

v3.21.2
Revenue - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]          
Unbilled receivables, net $ 30,824   $ 30,824   $ 22,358
Contract with customer, liability 8,600   8,600   $ 10,100
Contract with customer, liability, revenue recognized     2,700 $ 2,000  
Revenue, remaining performance obligation $ 218,000   $ 218,000    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-10-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-10-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 57.00% 50.00% 57.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 43.00% 50.00% 43.00% 50.00%