XML 234 R58.htm IDEA: XBRL DOCUMENT v3.24.1
Revenue Recognition - Narrative (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Deferred Revenue Arrangement [Line Items]      
Contract with customer, liability, revenue recognized $ 10,148,000 $ 6,127,000 $ 3,978,000
Contract with customer, asset, after allowance for credit loss $ 0 $ 0  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01      
Deferred Revenue Arrangement [Line Items]      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1 year    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01      
Deferred Revenue Arrangement [Line Items]      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 2 years    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01      
Deferred Revenue Arrangement [Line Items]      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 3 years    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01      
Deferred Revenue Arrangement [Line Items]      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 4 years    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-01-01      
Deferred Revenue Arrangement [Line Items]      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 5 years    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2029-01-01      
Deferred Revenue Arrangement [Line Items]      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 6 years