XML 54 R42.htm IDEA: XBRL DOCUMENT
v3.25.2

Reportable Segment Information (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2025
Segment Reporting [Abstract] |
Schedule of Segment Reporting Information | Summarized segment information is as follows (in thousands):
Three months ended June 30, | Construction |  | Materials |  | Total
2025 |  |  |  |  |
Total revenue from reportable segments | $ | 937,426 |  | $ | 251,856 |  | $ | 1,189,282
Elimination of intersegment revenue | — |  | (63,318) |  | (63,318)
Revenue | 937,426 |  | 188,538 |  | 1,125,964
Cost of revenue | 783,760 |  | 143,105 |  | 926,865
Gross profit | 153,666 |  | 45,433 |  | 199,099
Selling, general and administrative expenses | 48,323 |  | 6,022 |  | 54,345
Gain on sales of property and equipment, net | (679) |  | (2,061) |  | (2,740)
Operating income from reportable segments | $ | 106,022 |  | $ | 41,472 |  | $ | 147,494
Depreciation, depletion and amortization | $ | 19,223 |  | $ | 14,273 |  | $ | 33,496
2024 |  |  |  |  |
Total revenue from reportable segments | $ | 917,954 |  | $ | 239,468 |  | $ | 1,157,422
Elimination of intersegment revenue | — |  | (74,936) |  | (74,936)
Revenue | 917,954 |  | 164,532 |  | 1,082,486
Cost of revenue | 782,582 |  | 135,193 |  | 917,775
Gross profit | 135,372 |  | 29,339 |  | 164,711
Selling, general and administrative expenses | 41,351 |  | 5,142 |  | 46,493
Gain on sales of property and equipment, net | (1,759) |  | (34) |  | (1,793)
Operating income from reportable segments | $ | 95,780 |  | $ | 24,231 |  | $ | 120,011
Depreciation, depletion and amortization | $ | 13,501 |  | $ | 10,917 |  | $ | 24,418
Six Months Ended June 30, | Construction |  | Materials |  | Total
2025 |  |  |  |  |
Total revenue from reportable segments | $ | 1,552,044 |  | $ | 357,436 |  | $ | 1,909,480
Elimination of intersegment revenue | — |  | (83,969) |  | (83,969)
Revenue | 1,552,044 |  | 273,467 |  | 1,825,511
Cost of revenue | 1,312,940 |  | 229,623 |  | 1,542,563
Gross profit | 239,104 |  | 43,844 |  | 282,948
Selling, general and administrative expenses | 110,650 |  | 14,567 |  | 125,217
Gain on sales of property and equipment, net | (2,528) |  | (2,130) |  | (4,658)
Operating income from reportable segments | $ | 130,982 |  | $ | 31,407 |  | $ | 162,389
Depreciation, depletion and amortization | $ | 33,675 |  | $ | 27,828 |  | $ | 61,503
Segment assets as of period end | $ | 615,962 |  | $ | 687,175 |  | $ | 1,303,137
2024 |  |  |  |  |
Total revenue from reportable segments | $ | 1,513,167 |  | $ | 328,172 |  | $ | 1,841,339
Elimination of intersegment revenue | — |  | (86,578) |  | (86,578)
Revenue | 1,513,167 |  | 241,594 |  | 1,754,761
Cost of revenue | 1,320,967 |  | 214,798 |  | 1,535,765
Gross profit | 192,200 |  | 26,796 |  | 218,996
Selling, general and administrative expenses | 90,175 |  | 10,284 |  | 100,459
Gain on sales of property and equipment, net | (2,981) |  | (562) |  | (3,543)
Operating income from reportable segments | $ | 105,006 |  | $ | 17,074 |  | $ | 122,080
Depreciation, depletion and amortization | $ | 27,204 |  | $ | 21,394 |  | $ | 48,598
Segment assets as of period end | $ | 565,222 |  | $ | 570,908 |  | $ | 1,136,130
Reconciliation of Operating Profit (Loss) from Segments to Consolidated | A reconciliation of operating income from reportable segments to consolidated income before income taxes is as follows:
| Three Months Ended June 30, |  | Six Months Ended June 30,
(in thousands) | 2025 |  | 2024 |  | 2025 |  | 2024
Total operating income from reportable segments | $ | 147,494 |  |  | $ | 120,011 |  |  | $ | 162,389 |  |  | $ | 122,080 |
Corporate selling, general and administrative expenses | 31,542 |  |  | 23,559 |  |  | 76,581 |  |  | 57,586 |
Corporate (gain) loss on sales of property and equipment, net | (866) |  |  | 406 |  |  | (685) |  |  | 738 |
Other costs, net | 13,253 |  |  | 10,225 |  |  | 22,679 |  |  | 21,235 |
Total operating income | 103,565 |  |  | 85,821 |  |  | 63,814 |  |  | 42,521 |
Total other (income) expense, net | (3,994) |  |  | 26,271 |  |  | $ | (3,662) |  |  | $ | 21,939 |
Income before income taxes | $ | 107,559 |  |  | $ | 59,550 |  |  | $ | 67,476 |  |  | $ | 20,582 |

X
- Definition Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 31 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_SegmentReportingAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration