XML 60 R48.htm IDEA: XBRL DOCUMENT v3.24.2.u1
Disaggregation of Revenue - Schedule of Disaggregation of Revenue (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
USD ($)
reportableSegments
operatingGroups
Jun. 30, 2023
USD ($)
Jun. 30, 2024
USD ($)
Jun. 30, 2023
USD ($)
Disaggregation of Revenue [Line Items]        
Reportable segments | reportableSegments 2      
Operating groups | operatingGroups 3      
Revenue $ 1,082,486 $ 898,552 $ 1,754,761 $ 1,458,620
Construction        
Disaggregation of Revenue [Line Items]        
Revenue 917,954 749,413 1,513,167 1,252,829
Construction | Public        
Disaggregation of Revenue [Line Items]        
Revenue 696,710 505,460 1,116,527 838,552
Construction | Private        
Disaggregation of Revenue [Line Items]        
Revenue 221,244 243,953 396,640 414,277
Materials        
Disaggregation of Revenue [Line Items]        
Revenue $ 164,532 $ 149,139 $ 241,594 $ 205,791