XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.3
Construction Contracts - Additional Information (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Dec. 31, 2022
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Construction receivables retentions $ 41,300   $ 28,700  
Retentions 11,881 $ 23,127 21,414 $ 17,515
Construction        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Retentions 45,100   38,200  
Portion Attributable To Pending Contracts        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Pre-contract costs 1,600   $ 1,900  
Amortization of pre-contract costs $ 100 $ 300    
Minimum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Expected completion of contracts 12 months      
Minimum | Construction | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Expected completion of contracts 12 months      
Maximum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Expected completion of contracts 24 months      
Maximum | Construction | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Expected completion of contracts 24 months