Quarterly report pursuant to Section 13 or 15(d)

Revenue and Cost of Revenues - Obligation (Details)

v3.21.2
Revenue and Cost of Revenues - Obligation (Details)
$ in Thousands
Jun. 30, 2021
USD ($)
Revenue from Contract with Customer [Abstract]  
Remaining performance obligations $ 580,303
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01  
Revenue from Contract with Customer [Abstract]  
Remaining performance obligations $ 136,052
Remaining Performance Obligations  
Revenue recognition period 6 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue from Contract with Customer [Abstract]  
Remaining performance obligations $ 204,602
Remaining Performance Obligations  
Revenue recognition period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01  
Revenue from Contract with Customer [Abstract]  
Remaining performance obligations $ 124,747
Remaining Performance Obligations  
Revenue recognition period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue from Contract with Customer [Abstract]  
Remaining performance obligations $ 65,749
Remaining Performance Obligations  
Revenue recognition period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Revenue from Contract with Customer [Abstract]  
Remaining performance obligations $ 34,779
Remaining Performance Obligations  
Revenue recognition period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Revenue from Contract with Customer [Abstract]  
Remaining performance obligations $ 14,374
Remaining Performance Obligations  
Revenue recognition period