XML 273 R58.htm IDEA: XBRL DOCUMENT v3.25.0.1
Revenue Recognition - Narrative (Details) - USD ($)
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Contract liability revenue recognized $ 17,500,000    
Impairment losses on receivables and contract assets 0 $ 0 $ 0
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Transaction price allocated to uncompleted contracts $ 126,300,000    
Expected time of revenue recognition 18 months