XML 50 R37.htm IDEA: XBRL DOCUMENT v3.22.2
Revenue from Contracts with Customers - Narrative (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
USD ($)
project
Jun. 30, 2021
USD ($)
project
Jun. 30, 2022
USD ($)
project
Jun. 30, 2021
USD ($)
project
Dec. 31, 2021
USD ($)
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,600   $ 38,600   $ 38,100
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-07-01          
Disaggregation of Revenue [Line Items]          
Revenue, remaining performance obligations, expected timing of satisfaction, period 24 months   24 months    
GCR          
Disaggregation of Revenue [Line Items]          
Number of projects | project 1 1 1 2  
Revision amount for gross profit impact on contract estimates (more than) $ 500 $ (500) $ 500    
Total net gross profits write ups (downs) 1,300 $ (1,000) 1,300 $ (1,500)  
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations, amount $ 308,800   $ 308,800    
Revenue, remaining performance obligations, percentage 50.00%   50.00%    
Revenue, remaining performance obligations, expected timing of satisfaction, period 6 months   6 months    
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01          
Disaggregation of Revenue [Line Items]          
Revenue, remaining performance obligations, percentage 40.00%   40.00%    
Revenue, remaining performance obligations, expected timing of satisfaction, period 1 year 6 months   1 year 6 months    
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations, amount $ 102,100   $ 102,100    
Revenue, remaining performance obligations, percentage 66.00%   66.00%    
Revenue, remaining performance obligations, expected timing of satisfaction, period 6 months   6 months    
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01          
Disaggregation of Revenue [Line Items]          
Revenue, remaining performance obligations, percentage 27.00%   27.00%    
Revenue, remaining performance obligations, expected timing of satisfaction, period 1 year 6 months   1 year 6 months