v3.26.1
Condensed Consolidated Statements of Operations (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Income Statement [Abstract]        
Revenues $ 81,585 $ 68,233 $ 156,655 $ 133,010
Cost of revenues 51,426 43,052 99,310 82,579
Selling, general and administrative expenses 14,160 13,657 27,351 25,403
Other operating (income) loss, net (91) (105) (519) (129)
Operating income from continuing operations 16,090 11,629 30,513 25,157
Foreign currency exchange (gain) loss (154) (626) (9) (940)
Interest (income) expense, net 347 1 670 (47)
Income from continuing operations before income taxes 15,897 12,254 29,852 26,144
Provision for income taxes from continuing operations 3,908 3,470 7,505 6,985
Income from continuing operations 11,989 8,784 22,347 19,159
Income (loss) from discontinued operations, net of tax (22) (106) 78 (478)
Net income $ 11,967 $ 8,678 $ 22,425 $ 18,681
Income (loss) per common share - basic        
Income from continuing operations (in dollars per share) $ 0.14 $ 0.10 $ 0.26 $ 0.22
Income (loss) from discontinued operations (in dollars per share) 0 0 0.01 0
Net income, basic (in dollars per share) 0.14 0.10 0.27 0.22
Income (loss) per common share - diluted        
Income from continuing operations (in dollars per share) 0.14 0.10 0.26 0.22
Income (loss) from discontinued operations (in dollars per share) 0 0 0 0
Net income (in dollars per share) $ 0.14 $ 0.10 $ 0.26 $ 0.22