XML 76 R52.htm IDEA: XBRL DOCUMENT v3.24.0.1
Concentration of Risk and Enterprise-Wide Disclosures (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
customer
Dec. 31, 2022
USD ($)
customer
Dec. 31, 2021
USD ($)
customer
Concentration Risk [Line Items]      
Allowance for credit losses $ (361) $ (606)  
Contract revenues $ 711,778 $ 748,322 $ 601,360
Foreign      
Concentration Risk [Line Items]      
Contract revenues, percent 5.10% 0.90% 0.50%
Customer concentration risk | Trade and contract retainage receivables      
Concentration Risk [Line Items]      
Gross receivables $ 143,634 $ 158,237  
Allowance for credit losses (361) (606)  
Net receivables $ 143,273 $ 157,631  
Number of customers exceeding the 10% benchmark percentage | customer   0  
Concentration risk, percentage 100.00% 100.00%  
Customer concentration risk | Contract revenues      
Concentration Risk [Line Items]      
Number of customers exceeding the 10% benchmark percentage | customer   0 0
Contract revenues $ 711,778 $ 748,322 $ 601,360
Concentration risk, percentage 100.00% 100.00% 100.00%
Customer concentration risk | Federal Government | Trade and contract retainage receivables      
Concentration Risk [Line Items]      
Gross receivables $ 8,885 $ 4,612  
Concentration risk, percentage 6.00% 3.00%  
Customer concentration risk | Federal Government | Contract revenues      
Concentration Risk [Line Items]      
Number of customers exceeding the 10% benchmark percentage | customer 1    
Contract revenues $ 153,410 $ 80,116 $ 54,480
Concentration risk, percentage 22.00% 11.00% 9.00%
Customer concentration risk | Federal Government | Contract revenues | Customer One      
Concentration Risk [Line Items]      
Contract revenues, percent 12.70%    
Customer concentration risk | State Governments | Trade and contract retainage receivables      
Concentration Risk [Line Items]      
Gross receivables $ 2,355 $ 3,111  
Concentration risk, percentage 2.00% 2.00%  
Customer concentration risk | State Governments | Contract revenues      
Concentration Risk [Line Items]      
Contract revenues $ 59,354 $ 62,516 $ 4,790
Concentration risk, percentage 8.00% 8.00% 1.00%
Customer concentration risk | Local Governments | Trade and contract retainage receivables      
Concentration Risk [Line Items]      
Gross receivables $ 12,804 $ 16,197  
Concentration risk, percentage 9.00% 10.00%  
Customer concentration risk | Local Governments | Contract revenues      
Concentration Risk [Line Items]      
Contract revenues $ 99,621 $ 125,015 $ 120,311
Concentration risk, percentage 14.00% 17.00% 20.00%
Customer concentration risk | Private Companies | Trade and contract retainage receivables      
Concentration Risk [Line Items]      
Gross receivables $ 119,590 $ 134,317  
Number of customers exceeding the 10% benchmark percentage | customer 1    
Concentration risk, percentage 83.00% 85.00%  
Customer concentration risk | Private Companies | Trade and contract retainage receivables | Customer One      
Concentration Risk [Line Items]      
Contract revenues, percent 19.90%    
Customer concentration risk | Private Companies | Contract revenues      
Concentration Risk [Line Items]      
Contract revenues $ 399,393 $ 480,675 $ 421,779
Concentration risk, percentage 56.00% 64.00% 70.00%