XML 125 R110.htm IDEA: XBRL DOCUMENT v3.22.4
Segment Information (Net Sales by Contract Type) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Disaggregation of Revenue [Line Items]      
Net sales: $ 1,389,966 $ 1,339,783 $ 1,032,578
Renewables      
Disaggregation of Revenue [Line Items]      
Net sales: 377,567 432,096 238,107
Residential      
Disaggregation of Revenue [Line Items]      
Net sales: 767,248 635,505 522,814
Agtech      
Disaggregation of Revenue [Line Items]      
Net sales: 168,868 199,161 209,460
Infrastructure      
Disaggregation of Revenue [Line Items]      
Net sales: 76,283 73,021 62,197
Point in Time      
Disaggregation of Revenue [Line Items]      
Net sales: 834,887 711,793 616,789
Point in Time | Renewables      
Disaggregation of Revenue [Line Items]      
Net sales: 27,317 28,630 22,833
Point in Time | Residential      
Disaggregation of Revenue [Line Items]      
Net sales: 761,576 630,494 518,281
Point in Time | Agtech      
Disaggregation of Revenue [Line Items]      
Net sales: 13,011 20,157 52,894
Point in Time | Infrastructure      
Disaggregation of Revenue [Line Items]      
Net sales: 32,983 32,512 22,781
Over Time      
Disaggregation of Revenue [Line Items]      
Net sales: 555,079 627,990 415,789
Over Time | Renewables      
Disaggregation of Revenue [Line Items]      
Net sales: 350,250 403,466 215,274
Over Time | Residential      
Disaggregation of Revenue [Line Items]      
Net sales: 5,672 5,011 4,533
Over Time | Agtech      
Disaggregation of Revenue [Line Items]      
Net sales: 155,857 179,004 156,566
Over Time | Infrastructure      
Disaggregation of Revenue [Line Items]      
Net sales: $ 43,300 $ 40,509 $ 39,416