v3.24.1.u1
Revenue Recognition - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Contracts with Customers, Asset and Liability [Line Items]    
Advance billings on contracts $ 112,361 $ 107,391
Unbilled receivables    
Contracts with Customers, Asset and Liability [Line Items]    
Contract with customer, asset 532,092 519,931
Retainages    
Contracts with Customers, Asset and Liability [Line Items]    
Contract with customer, asset $ 81,506 $ 55,181