XML 66 R55.htm IDEA: XBRL DOCUMENT v3.22.1
Revenue from Customers - Narrative (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01      
Disaggregation of Revenue [Line Items]      
Remaining performance obligation, percentage 63.00%    
Expected timing of satisfaction 12 months    
Operating income (Loss)      
Disaggregation of Revenue [Line Items]      
Estimated construction gain (loss) before tax $ 14,435 $ 7,439 $ (9,044)
Costs and Estimated Earnings in Excess of Billings      
Disaggregation of Revenue [Line Items]      
Provision for estimated loss on uncompleted contracts $ 13,905 $ 7,142