XML 70 R54.htm IDEA: XBRL DOCUMENT v3.22.4
Revenue Recognition - Remaining Performance Obligation (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Performance obligations $ 13,584 $ 20,046 $ 11,082
Government      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Performance obligations $ 333,939 $ 195,300  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Performance obligations, period 60 months    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01 | Government      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Performance obligations $ 77,832    
Performance obligations, period 1 year    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01 | Government      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Performance obligations $ 81,824    
Performance obligations, period 1 year    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01 | Government      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Performance obligations $ 157,459    
Performance obligations, period 1 year    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01 | Government      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Performance obligations $ 16,824    
Performance obligations, period