XML 57 R45.htm IDEA: XBRL DOCUMENT v3.24.2.u1
Revenue from Customers - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Dec. 31, 2023
Disaggregation of Revenue [Line Items]          
Contracts receivable unpaid project contract price $ 5,015   $ 5,015   $ 5,225
Operating income (Loss)          
Disaggregation of Revenue [Line Items]          
Estimated construction gain (loss) before tax $ 30,823 $ 8,122 $ 52,351 $ 16,735  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligation expected to be recognized over next twelve months 65.00%   65.00%    
Remaining performance obligation period 12 months   12 months