XML 201 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Customers - Revenue Disaggregation (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Disaggregation of Revenue [Line Items]        
Revenues $ 522,325 $ 461,827 $ 925,904 $ 827,789
Lump-Sum        
Disaggregation of Revenue [Line Items]        
Revenues 294,815 259,695 531,514 444,452
Fixed-Unit Price        
Disaggregation of Revenue [Line Items]        
Revenues 151,326 138,186 264,189 263,608
Residential and Other        
Disaggregation of Revenue [Line Items]        
Revenues 76,184 63,946 130,201 119,729
Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenues 522,325 461,827 925,904 827,789
E-Infrastructure Solutions Revenues | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenues 260,148 233,548 465,988 402,475
Transportation Solutions Revenues | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenues 151,088 142,640 262,227 258,781
Transportation Solutions Revenues | Heavy Highway        
Disaggregation of Revenue [Line Items]        
Revenues 113,310 106,242 180,576 194,455
Transportation Solutions Revenues | Aviation        
Disaggregation of Revenue [Line Items]        
Revenues 18,310 18,922 31,746 36,117
Transportation Solutions Revenues | Other Non-Highway Services        
Disaggregation of Revenue [Line Items]        
Revenues 19,468 17,476 49,905 28,209
Building Solutions Revenues | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenues 111,089 85,639 197,689 166,533
Building Solutions Revenues | Residential        
Disaggregation of Revenue [Line Items]        
Revenues 73,413 60,471 127,127 114,741
Building Solutions Revenues | Commercial        
Disaggregation of Revenue [Line Items]        
Revenues $ 37,676 $ 25,168 $ 70,562 $ 51,792