XML 60 R48.htm IDEA: XBRL DOCUMENT v3.24.3
Disaggregation of Revenue - Schedule of Disaggregation of Revenue (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
USD ($)
reportableSegments
operatingGroups
Sep. 30, 2023
USD ($)
Sep. 30, 2024
USD ($)
Sep. 30, 2023
USD ($)
Disaggregation of Revenue [Line Items]        
Reportable segments | reportableSegments 2      
Operating groups | operatingGroups 3      
Revenue $ 1,275,510 $ 1,116,820 $ 3,030,271 $ 2,575,440
Construction        
Disaggregation of Revenue [Line Items]        
Revenue 1,080,705 945,698 2,593,872 2,198,527
Construction | Public        
Disaggregation of Revenue [Line Items]        
Revenue 828,268 674,494 1,944,795 1,513,046
Construction | Private        
Disaggregation of Revenue [Line Items]        
Revenue 252,437 271,204 649,077 685,481
Materials        
Disaggregation of Revenue [Line Items]        
Revenue $ 194,805 $ 171,122 $ 436,399 $ 376,913