XML 68 R56.htm IDEA: XBRL DOCUMENT v3.25.3
Operating Segments - Schedule of Condensed Consolidated Segment Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2025
Sep. 30, 2024
Sep. 30, 2025
Sep. 30, 2024
Segment Reporting Information [Line Items]        
Revenue $ 184,583 $ 133,920 $ 459,932 $ 375,131
Total gross profit 44,685 36,114 121,230 100,710
Selling, general and administrative 28,330 23,748 81,480 69,800
Acquisition-related retention expense and contingent consideration 610 610 1,832 2,344
Amortization of intangibles 2,400 868 6,020 2,956
Operating income 13,345 10,888 31,898 25,610
Interest expense (1,223) (468) (2,312) (1,375)
Interest income 88 626 792 1,734
Gain on disposition of property and equipment 367 99 1,107 656
Loss on change in fair value of interest rate swap (22) (267) (175) (130)
Total other (expenses) income (790) (10) (588) 885
Income before income taxes 12,555 10,878 31,310 26,495
Operating Segments | ODR        
Segment Reporting Information [Line Items]        
Revenue 141,382 93,007 340,723 250,017
Total gross profit 35,679 29,647 93,429 77,170
Operating Segments | GCR        
Segment Reporting Information [Line Items]        
Revenue 43,201 40,913 119,209 125,114
Total gross profit 9,006 6,467 27,801 23,540
Corporate        
Segment Reporting Information [Line Items]        
Selling, general and administrative $ 1,900 $ 1,600 $ 5,200 $ 4,300