XML 91 R77.htm IDEA: XBRL DOCUMENT v3.25.4
Operating Segments - Schedule of Segment Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2025
Dec. 31, 2024
Dec. 31, 2023
Segment Reporting Information [Line Items]      
Revenue $ 646,804 $ 518,781 $ 516,350
Gross profit 169,314 144,281 119,290
Selling, general and administrative 109,518 97,199 87,397
Acquisition-related retention expense and contingent consideration 1,985 3,770 729
Amortization of intangibles 8,357 4,688 1,880
Operating income 49,454 38,624 29,284
Interest expense (3,133) (1,869) (2,046)
Interest income 815 2,227 1,217
Loss on early debt extinguishment 0 0 (311)
(Loss) gain on change in fair value of interest rate swap (191) 34 (124)
Gain on disposition of property and equipment 1,684 950 80
Total unallocated amounts (825) 1,342 (1,184)
Income before income taxes 48,629 39,966 28,100
Operating Segments | ODR      
Segment Reporting Information [Line Items]      
Revenue 485,690 345,500 261,958
Gross profit 129,876 107,775 76,090
Operating Segments | GCR      
Segment Reporting Information [Line Items]      
Revenue 161,114 173,281 254,392
Gross profit 39,438 36,506 43,200
Segment Reporting, Reconciling Item, Corporate Nonsegment      
Segment Reporting Information [Line Items]      
Selling, general and administrative $ 7,000 $ 5,800 $ 4,900