v3.24.0.1
Revenue and Accounts Receivable - Transaction Price Allocated to Remaining Performance Obligation (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 33,171
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 14,927
Remaining performance period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 10,682
Remaining performance period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 5,474
Remaining performance period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01  
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 2,088
Remaining performance period 1 year