v3.26.3
Condensed Consolidated Statements of Operations (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2026
Sep. 30, 2025
Sep. 30, 2026
Sep. 30, 2025
Income Statement [Abstract]        
Revenue $ 230,460 $ 184,583 $ 542,776 $ 459,932
Cost of revenue 176,620 139,898 420,473 338,702
Gross profit 53,840 44,685 122,303 121,230
Operating expenses:        
Selling, general and administrative 34,591 28,330 90,821 81,480
Acquisition-related retention expense and contingent consideration 571 610 950 1,832
Amortization of intangibles 3,615 2,400 7,084 6,020
Total operating expenses 38,777 31,340 98,855 89,332
Operating income 15,063 13,345 23,448 31,898
Other (expenses) income:        
Interest expense (1,243) (1,223) (2,717) (2,312)
Interest income 96 88 112 792
Gain on disposition of property and equipment 129 367 448 1,107
Loss on early debt extinguishment (250) 0 (250) 0
(Loss) gain on change in fair value of interest rate swap (6) (22) 54 (175)
Total other expense (1,274) (790) (2,353) (588)
Income before income taxes 13,789 12,555 21,095 31,310
Income tax expense 4,339 3,767 2,518 4,546
Net income $ 9,450 $ 8,788 $ 18,577 $ 26,764
Earnings per common share:        
Basic (in usd per share) $ 0.79 $ 0.76 $ 1.57 $ 2.32
Diluted (in usd per share) $ 0.79 $ 0.73 $ 1.54 $ 2.21
Weighted average number of shares outstanding:        
Basic (in shares) 11,888,075 11,626,578 11,856,651 11,557,649
Diluted (in shares) 12,000,412 12,107,480 12,028,816 12,090,829