v3.24.1.u1
Revenue Recognition - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Contract assets $ 0.8 $ 0.8
Revenue recognized previously unearned 1.0  
Remaining performance obligations $ 34.3  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Percent of remaining performance obligation expected to be recognized (as a percent) 46.00%  
Revenue, remaining performance obligation, period (in months) 12 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-04-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-04-01 | Maximum    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, period (in months) 48 months