XML 14 R2.htm IDEA: XBRL DOCUMENT v3.21.2
UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Income Statement [Abstract]        
Revenue $ 402,725 $ 365,424 $ 1,169,564 $ 1,043,652
Direct costs 283,461 261,546 832,687 747,889
Gross profit 119,264 103,878 336,877 295,763
Selling, general and administrative expenses 88,972 75,852 251,617 235,614
Depreciation and amortization 1,026 1,308 3,420 4,081
Income from operations 29,266 26,718 81,840 56,068
Other expense, net 1,448 938 5,845 3,746
Income from operations, before income taxes 27,818 25,780 75,995 52,322
Income tax expense 7,650 7,017 21,378 14,568
Net income 20,168 18,763 54,617 37,754
Other comprehensive income (loss), net of tax:        
Defined benefit pension plans 0 0 3,103 0
Change in fair value of interest rate swaps 152 118 1,101 (1,473)
Comprehensive income $ 20,320 $ 18,881 $ 58,821 $ 36,281
Earnings per share – basic (in dollars per share) $ 0.99 $ 0.90 $ 2.64 $ 1.79
Earnings per share - diluted (in dollars per share) $ 0.96 $ 0.89 $ 2.57 $ 1.77
Weighted average shares outstanding – basic (in shares) 20,429 20,782 20,676 21,041
Weighted average shares outstanding – diluted (in shares) 21,098 21,180 21,260 21,369