XML 84 R63.htm IDEA: XBRL DOCUMENT v3.25.0.1
Disaggregation of Revenue - Schedule of Disaggregation of Revenue (Details)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
operatingGroups
segment
Dec. 31, 2024
USD ($)
segment
Dec. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Disaggregation of Revenue [Abstract]        
Number of reportable segments | segment 2 2    
Number of operating groups | operatingGroups 3      
Disaggregation of Revenue [Line Items]        
Revenue   $ 4,007,574 $ 3,509,138 $ 3,301,256
Constructions        
Disaggregation of Revenue [Line Items]        
Revenue   3,415,225 2,992,254 2,803,935
Constructions | Public        
Disaggregation of Revenue [Line Items]        
Revenue   2,531,379 2,064,078 1,891,338
Constructions | Private        
Disaggregation of Revenue [Line Items]        
Revenue   883,846 928,176 912,597
Materials        
Disaggregation of Revenue [Line Items]        
Revenue   $ 592,349 $ 516,884 $ 497,321