XML 60 R45.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accounts Receivable - Additional Information (Detail) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Jan. 01, 2022
Receivables [Abstract]        
Amount billed but not received under retainage provisions in contracts $ 3,200 $ 1,600   $ 1,800
Accounts receivable, net of allowances of $6,460 and $4,220 $ 112,733 83,086   $ 75,000
Retainage receivables on contracts minimum period 1 year      
Retainage receivables on contracts maximum period 2 years      
Provision for doubtful accounts $ 1,593 1,340 $ 688  
Charge-offs $ (600) $ 600 $ 300