Quarterly report [Sections 13 or 15(d)]

Revenue Recognition - Other (Details)

v3.25.2
Revenue Recognition - Other (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2025
Dec. 31, 2024
Contract Liabilities    
Deferred revenue $ 13,430 $ 18,651
Uncompleted Performance Obligations    
Amount remaining on uncompleted performance obligations $ 314,900  
Expected timing of satisfaction of performance obligations over the next 18 months  
Receivables, net    
Uncompleted Performance Obligations    
Retainage receivables $ 69,700  
Receivables, net    
Contract Assets    
Receivables, unbilled 64,462 61,366
Uncompleted Performance Obligations    
Retainage receivables   74,900
Accrued liabilities    
Contract Liabilities    
Deferred revenue $ 13,430 $ 18,651