v3.25.0.1
Intangible Assets - Schedule of Gross Amount and Accumulated Amortization of Intangible Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 549,855 $ 463,515
Accumulated Amortization (199,918) (187,949)
Net Carrying Amount 349,937 275,566
Backlog    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount 142,100 130,000
Accumulated Amortization (51,322) (45,964)
Net Carrying Amount $ 90,778 84,036
Weighted Average Amortization Period (in years) 4 years 6 months  
Customer Relationships    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 372,930 297,120
Accumulated Amortization (139,568) (124,194)
Net Carrying Amount $ 233,362 172,926
Weighted Average Amortization Period (in years) 11 years 7 months 6 days  
Leases    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 0 120
Accumulated Amortization 0 (106)
Net Carrying Amount $ 0 14
Weighted Average Amortization Period (in years) 0 years  
Developed technology    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 23,200 31,600
Accumulated Amortization (7,458) (15,823)
Net Carrying Amount $ 15,742 15,777
Weighted Average Amortization Period (in years) 4 years 7 months 6 days  
Trade name    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 1,500 1,000
Accumulated Amortization (367) (417)
Net Carrying Amount $ 1,133 583
Weighted Average Amortization Period (in years) 1 year  
Noncompete Agreements    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 8,300 1,500
Accumulated Amortization (1,203) (1,097)
Net Carrying Amount $ 7,097 403
Weighted Average Amortization Period (in years) 3 years  
In Process Research and Development    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 1,800 1,800
Accumulated Amortization 0 0
Net Carrying Amount 1,800 1,800
Other Intangibles    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount 25 375
Accumulated Amortization 0 (348)
Net Carrying Amount $ 25 $ 27