XML 14 R2.htm IDEA: XBRL DOCUMENT v3.25.2
UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Income Statement [Abstract]        
Revenue $ 334,316 $ 356,318 $ 664,344 $ 708,207
Direct costs 243,668 257,345 485,436 513,984
Gross profit 90,648 98,973 178,908 194,223
Selling, general and administrative expenses 74,370 77,718 149,535 155,908
Depreciation and amortization 1,390 1,555 2,854 2,888
Income from operations 14,888 19,700 26,519 35,427
Other expense, net 1,029 504 1,594 1,160
Income before income taxes 13,859 19,196 24,925 34,267
Income tax expense 3,410 5,039 6,331 9,123
Net income $ 10,449 $ 14,157 $ 18,594 $ 25,144
Earnings per share – basic (in dollars per share) $ 0.59 $ 0.76 $ 1.04 $ 1.34
Earnings per share - diluted (in dollars per share) $ 0.59 $ 0.75 $ 1.03 $ 1.33
Weighted average shares outstanding – basic (in shares) 17,714 18,696 17,936 18,711
Weighted average shares outstanding – diluted (in shares) 17,759 18,886 17,994 18,903