v3.25.1
Operating Segments - Schedule of Condensed Consolidated Segment Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Segment Reporting Information [Line Items]    
Revenue $ 133,108 $ 118,976
Total gross profit 36,719 31,088
Selling, general and administrative 26,518 22,876
Change in fair value of contingent consideration 427 623
Amortization of intangibles 1,863 1,057
Operating income 7,911 6,532
Interest expense (526) (475)
Interest income 370 562
Gain on disposition of property and equipment 333 491
(Loss) gain on change in fair value of interest rate swap (97) 149
Total other income (expenses) 80 727
Income before income taxes 7,991 7,259
Operating Segments | ODR    
Segment Reporting Information [Line Items]    
Revenue 90,393 74,256
Total gross profit 26,161 22,161
Operating Segments | GCR    
Segment Reporting Information [Line Items]    
Revenue 42,715 44,720
Total gross profit 10,558 8,927
Corporate    
Segment Reporting Information [Line Items]    
Selling, general and administrative $ 1,600 $ 1,200