XML 55 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Customers - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Operating income (Loss)          
Disaggregation of Revenue [Line Items]          
Estimated construction gain (loss) before tax $ 19,822 $ 14,641 $ 36,557 $ 43,634  
Costs and Estimated Earnings in Excess of Billings          
Disaggregation of Revenue [Line Items]          
Contracts receivable unpaid project contract price $ 7,825   $ 7,825   $ 8,649
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligation expected to be recognized over next twelve months 70.00%   70.00%    
Remaining performance obligation period 12 months   12 months