XML 60 R48.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Narrative (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Disaggregation of Revenue [Line Items]    
Term of revenue contracts six months to two years  
Percentage completed of certain milestones 10.00%  
Net amount of unresolved change orders and claims $ 38,100 $ 33,600
Total net gross profits write ups (downs) $ 400 $ (7,900)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, expected timing of satisfaction, period 24 months  
GCR    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, amount $ 337,200  
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, percentage 65.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 12 months  
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, percentage 35.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 12 months  
ODR    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, amount $ 81,200  
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, percentage 52.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 12 months  
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, percentage 5.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 12 months