XML 63 R48.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue Recognition - Narrative (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of Revenue [Line Items]      
Impairment charges related to contract assets $ 0 $ 0 $ 0
Short-Term Unbilled Receivables      
Disaggregation of Revenue [Line Items]      
Unbilled receivables, not billable 9,100,000 $ 7,000,000  
Long-Term Unbilled Receivables      
Disaggregation of Revenue [Line Items]      
Unbilled receivables, not billable $ 800,000    
Minimum | Accounts Receivable      
Disaggregation of Revenue [Line Items]      
Payment terms 30 days    
Maximum | Accounts Receivable      
Disaggregation of Revenue [Line Items]      
Payment terms 90 days