v3.24.2
Revenue Recognition - Narrative (Details) - USD ($)
$ in Millions
6 Months Ended
Jun. 30, 2024
Dec. 31, 2023
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Contract assets $ 1.4 $ 0.8
Revenue recognized previously unearned 1.4  
Remaining performance obligations $ 37.6  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-07-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Percent of remaining performance obligation expected to be recognized (as a percent) 48.00%  
Revenue, remaining performance obligation, period (in months) 12 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01 | Minimum    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, period (in months) 24 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01 | Maximum    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, period (in months) 48 months