XML 15 R4.htm IDEA: XBRL DOCUMENT v3.23.3
UNAUDITED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Income Statement [Abstract]        
Contract revenues $ 939,476 $ 799,848 $ 2,639,708 $ 2,144,586
Contract costs 847,093 713,502 2,372,806 1,896,893
Gross profit 92,383 86,346 266,902 247,693
Selling, general and administrative expenses 59,879 58,891 174,618 164,471
Amortization of intangible assets 1,231 827 3,686 6,847
Gain on sale of property and equipment (754) (347) (3,293) (1,747)
Income from operations 32,027 26,975 91,891 78,122
Other income (expense):        
Interest income 226 44 740 58
Interest expense (1,319) (1,134) (3,059) (2,235)
Other income (expense), net (91) 223 (61) 2,485
Income before provision for income taxes 30,843 26,108 89,511 78,430
Income tax expense 9,331 7,672 22,563 19,622
Net income $ 21,512 $ 18,436 $ 66,948 $ 58,808
Income per common share:        
Basic (in dollars per share) $ 1.29 $ 1.11 $ 4.01 $ 3.50
Diluted (in dollars per share) $ 1.28 $ 1.09 $ 3.98 $ 3.45
Weighted average number of common shares and potential common shares outstanding:        
Basic (in shares) 16,710 16,659 16,678 16,822
Diluted (in shares) 16,829 16,853 16,821 17,044
Net income $ 21,512 $ 18,436 $ 66,948 $ 58,808
Other comprehensive loss:        
Foreign currency translation adjustment (2,611) (5,946) (335) (7,772)
Other comprehensive loss (2,611) (5,946) (335) (7,772)
Total comprehensive income $ 18,901 $ 12,490 $ 66,613 $ 51,036