XML 61 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Disaggregation of Revenue - Schedule of Disaggregation of Revenue (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
reportableSegments
operatingGroups
Mar. 31, 2023
USD ($)
Disaggregation of Revenue [Line Items]    
Reportable segments | reportableSegments 2  
Operating groups | operatingGroups 3  
Revenue $ 672,275 $ 560,068
Construction    
Disaggregation of Revenue [Line Items]    
Revenue 595,213 503,416
Construction | Public    
Disaggregation of Revenue [Line Items]    
Revenue 419,816 333,091
Construction | Private    
Disaggregation of Revenue [Line Items]    
Revenue 175,397 170,325
Materials    
Disaggregation of Revenue [Line Items]    
Revenue $ 77,062 $ 56,652