XML 120 R105.htm IDEA: XBRL DOCUMENT v3.24.0.1
Segment Information (Net Sales by Contract Type) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of Revenue [Line Items]      
Net sales: $ 1,377,736 $ 1,389,966 $ 1,339,783
Renewables      
Disaggregation of Revenue [Line Items]      
Net sales: 330,738 377,567 432,096
Residential      
Disaggregation of Revenue [Line Items]      
Net sales: 814,803 767,248 635,505
Agtech      
Disaggregation of Revenue [Line Items]      
Net sales: 144,967 168,868 199,161
Infrastructure      
Disaggregation of Revenue [Line Items]      
Net sales: 87,228 76,283 73,021
Point in Time      
Disaggregation of Revenue [Line Items]      
Net sales: 893,815 834,887 711,793
Point in Time | Renewables      
Disaggregation of Revenue [Line Items]      
Net sales: 49,123 27,317 28,630
Point in Time | Residential      
Disaggregation of Revenue [Line Items]      
Net sales: 808,225 761,576 630,494
Point in Time | Agtech      
Disaggregation of Revenue [Line Items]      
Net sales: 4,920 13,011 20,157
Point in Time | Infrastructure      
Disaggregation of Revenue [Line Items]      
Net sales: 31,547 32,983 32,512
Over Time      
Disaggregation of Revenue [Line Items]      
Net sales: 483,921 555,079 627,990
Over Time | Renewables      
Disaggregation of Revenue [Line Items]      
Net sales: 281,615 350,250 403,466
Over Time | Residential      
Disaggregation of Revenue [Line Items]      
Net sales: 6,578 5,672 5,011
Over Time | Agtech      
Disaggregation of Revenue [Line Items]      
Net sales: 140,047 155,857 179,004
Over Time | Infrastructure      
Disaggregation of Revenue [Line Items]      
Net sales: $ 55,681 $ 43,300 $ 40,509