XML 15 R4.htm IDEA: XBRL DOCUMENT v3.25.3
UNAUDITED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2025
Sep. 30, 2024
Sep. 30, 2025
Sep. 30, 2024
Income Statement [Abstract]        
Contract revenues $ 950,400 $ 888,043 $ 2,684,345 $ 2,532,495
Contract costs 838,508 810,755 2,371,841 2,328,121
Gross profit 111,892 77,288 312,504 204,374
Selling, general and administrative expenses 65,919 57,456 191,756 181,528
Amortization of intangible assets 1,214 1,221 3,613 3,666
Gain on sale of property and equipment (1,512) (1,750) (3,213) (4,745)
Income from operations 46,271 20,361 120,348 23,925
Other income (expense):        
Interest income 197 73 433 296
Interest expense (1,440) (2,016) (4,759) (4,311)
Other income (expense), net (297) 112 (1,130) (421)
Income before provision for income taxes 44,731 18,530 114,892 19,489
Income tax expense 12,637 7,881 33,024 5,178
Net income $ 32,094 $ 10,649 $ 81,868 $ 14,311
Income per common share:        
Basic (in dollars per share) $ 2.07 $ 0.65 $ 5.22 $ 0.86
Diluted (in dollars per share) $ 2.05 $ 0.65 $ 5.20 $ 0.86
Weighted average number of common shares and potential common shares outstanding:        
Basic (in shares) 15,528 16,283 15,681 16,582
Diluted (in shares) 15,631 16,324 15,752 16,647
Net income $ 32,094 $ 10,649 $ 81,868 $ 14,311
Other comprehensive income (loss):        
Foreign currency translation adjustment (1,789) 1,309 3,205 (2,336)
Other comprehensive income (loss) (1,789) 1,309 3,205 (2,336)
Total comprehensive income $ 30,305 $ 11,958 $ 85,073 $ 11,975