v3.26.1
Revenue from Contracts with Customers (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue [Line Items]        
Revenues $ 938,587 $ 833,759 $ 1,348,718 $ 1,187,231
Consolidation, Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (207,940) (154,639) (279,439) (202,934)
Operating Segments Excluding Intersegment Elimination        
Disaggregation of Revenue [Line Items]        
Revenues 938,292 833,524 1,348,283 1,186,922
West | Consolidation, Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (64,908) (56,561) (107,784) (85,459)
West | Operating Segments Excluding Intersegment Elimination        
Disaggregation of Revenue [Line Items]        
Revenues 289,523 317,195 500,507 525,213
Mountain | Consolidation, Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (49,586) (28,417) (58,195) (32,063)
Mountain | Operating Segments Excluding Intersegment Elimination        
Disaggregation of Revenue [Line Items]        
Revenues 236,486 176,121 317,721 242,114
Central | Consolidation, Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (69,717) (51,476) (80,295) (59,953)
Central | Operating Segments Excluding Intersegment Elimination        
Disaggregation of Revenue [Line Items]        
Revenues 325,367 255,062 426,561 322,904
Energy Services | Consolidation, Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (20,108) (14,967) (25,751) (18,645)
Energy Services | Operating Segments Excluding Intersegment Elimination        
Disaggregation of Revenue [Line Items]        
Revenues 86,916 85,146 103,494 96,691
Corporate Services and Eliminations | Corporate, Non-Segment & Intersegment Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues 295 235 435 309
Corporate Services and Eliminations | Consolidation, Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (3,621) (3,218) (7,414) (6,814)
Aggregates        
Disaggregation of Revenue [Line Items]        
Revenues 194,693 165,956 298,205 247,348
Aggregates | West        
Disaggregation of Revenue [Line Items]        
Revenues 79,972 74,830 144,744 131,087
Aggregates | Mountain        
Disaggregation of Revenue [Line Items]        
Revenues 36,200 29,350 49,763 37,393
Aggregates | Central        
Disaggregation of Revenue [Line Items]        
Revenues 78,521 61,776 103,698 78,868
Aggregates | Energy Services        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Aggregates | Corporate Services and Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Ready-mix concrete        
Disaggregation of Revenue [Line Items]        
Revenues 236,737 205,981 381,283 314,439
Ready-mix concrete | West        
Disaggregation of Revenue [Line Items]        
Revenues 88,215 89,951 162,166 159,732
Ready-mix concrete | Mountain        
Disaggregation of Revenue [Line Items]        
Revenues 42,717 35,707 65,354 48,793
Ready-mix concrete | Central        
Disaggregation of Revenue [Line Items]        
Revenues 105,805 80,323 153,763 105,914
Ready-mix concrete | Energy Services        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Ready-mix concrete | Corporate Services and Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Asphalt        
Disaggregation of Revenue [Line Items]        
Revenues 133,508 110,832 154,483 126,967
Asphalt | West        
Disaggregation of Revenue [Line Items]        
Revenues 39,133 38,545 51,893 47,411
Asphalt | Mountain        
Disaggregation of Revenue [Line Items]        
Revenues 42,608 28,792 45,405 29,290
Asphalt | Central        
Disaggregation of Revenue [Line Items]        
Revenues 51,767 43,495 57,185 50,266
Asphalt | Energy Services        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Asphalt | Corporate Services and Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Liquid asphalt        
Disaggregation of Revenue [Line Items]        
Revenues 91,350 85,894 109,543 98,122
Liquid asphalt | West        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Liquid asphalt | Mountain        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Liquid asphalt | Central        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Liquid asphalt | Energy Services        
Disaggregation of Revenue [Line Items]        
Revenues 91,350 85,894 109,543 98,122
Liquid asphalt | Corporate Services and Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Other        
Disaggregation of Revenue [Line Items]        
Revenues 83,786 79,551 130,374 123,041
Other | West        
Disaggregation of Revenue [Line Items]        
Revenues 49,295 49,278 83,903 83,683
Other | Mountain        
Disaggregation of Revenue [Line Items]        
Revenues 1,201 2 1,203 5
Other | Central        
Disaggregation of Revenue [Line Items]        
Revenues 13,700 12,599 17,717 15,016
Other | Energy Services        
Disaggregation of Revenue [Line Items]        
Revenues 15,674 14,219 19,702 17,214
Other | Corporate Services and Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues 3,916 3,453 7,849 7,123
Contracting services public-sector        
Disaggregation of Revenue [Line Items]        
Revenues 320,601 270,637 434,656 369,864
Contracting services public-sector | West        
Disaggregation of Revenue [Line Items]        
Revenues 75,880 88,459 123,286 127,231
Contracting services public-sector | Mountain        
Disaggregation of Revenue [Line Items]        
Revenues 112,960 80,926 153,000 117,105
Contracting services public-sector | Central        
Disaggregation of Revenue [Line Items]        
Revenues 131,761 101,252 158,370 125,528
Contracting services public-sector | Energy Services        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Contracting services public-sector | Corporate Services and Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Contracting services private-sector        
Disaggregation of Revenue [Line Items]        
Revenues 85,852 69,547 119,613 110,384
Contracting services private-sector | West        
Disaggregation of Revenue [Line Items]        
Revenues 21,936 32,693 42,299 61,528
Contracting services private-sector | Mountain        
Disaggregation of Revenue [Line Items]        
Revenues 50,386 29,761 61,191 41,591
Contracting services private-sector | Central        
Disaggregation of Revenue [Line Items]        
Revenues 13,530 7,093 16,123 7,265
Contracting services private-sector | Energy Services        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Contracting services private-sector | Corporate Services and Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues $ 0 $ 0 $ 0 $ 0