XML 84 R71.htm IDEA: XBRL DOCUMENT v3.22.4
Construction Contracts - Additional Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Billing in excess of construction contract costs $ 17,515 $ 4,881 $ 6,088
Construction receivables retentions $ 8,300 3,100  
Minimum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-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]: 2023-01-01      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Expected completion of contracts 18 months    
Construction      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Billing in excess of construction contract costs $ 24,700 4,200  
Portion Attributable To Pending Contracts      
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]      
Deferred precontract costs 1,300 2,200  
Amortization of pre-contract costs $ 1,100 $ 300