XML 65 R54.htm IDEA: XBRL DOCUMENT v3.22.1
Revenue from Customers - Revenue Disaggregation (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Disaggregation of Revenue [Line Items]      
Revenues $ 1,581,766 $ 1,427,412 $ 1,126,278
Operating Segments      
Disaggregation of Revenue [Line Items]      
Revenues 1,581,766 1,427,412 1,126,278
Transportation Solutions | Operating Segments      
Disaggregation of Revenue [Line Items]      
Revenues 795,582 753,824 760,325
Transportation Solutions | Heavy Highway      
Disaggregation of Revenue [Line Items]      
Revenues 572,902 526,561 483,175
Transportation Solutions | Aviation      
Disaggregation of Revenue [Line Items]      
Revenues 119,327 109,894 141,371
Transportation Solutions | Water Containment and Treatment      
Disaggregation of Revenue [Line Items]      
Revenues 58,100 69,922 65,795
Transportation Solutions | Other      
Disaggregation of Revenue [Line Items]      
Revenues 45,253 47,447 69,984
E-Infrastructure Solutions | Operating Segments      
Disaggregation of Revenue [Line Items]      
Revenues 468,784 397,253 84,637
Building Solutions | Operating Segments      
Disaggregation of Revenue [Line Items]      
Revenues 317,400 276,335 281,316
Building Solutions | Residential      
Disaggregation of Revenue [Line Items]      
Revenues 209,201 164,694 153,129
Building Solutions | Commercial      
Disaggregation of Revenue [Line Items]      
Revenues 108,199 111,641 128,187
Fixed-Unit Price      
Disaggregation of Revenue [Line Items]      
Revenues 871,832 843,401 708,638
Lump Sum      
Disaggregation of Revenue [Line Items]      
Revenues 494,590 389,045 262,237
Residential and Other      
Disaggregation of Revenue [Line Items]      
Revenues $ 215,344 $ 194,966 $ 155,403