XML 62 R43.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Segment Information (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Segment Reporting Information, Revenue for Reportable Segment [Abstract] |
Measurements Used by Management to Assess Performance of Segments | The following table is the reported segment’s and unallocated corporate assets at December 31 (in thousands):
| 2024 |  | 2023 |  | 2022
Residential | $ | 497,317 |  |  | $ | 515,739 |  |  | $ | 519,567 |
Renewables | 390,881 |  |  | 377,694 |  |  | 392,368 |
Agtech | 156,929 |  |  | 168,213 |  |  | 193,966 |
Infrastructure | 78,366 |  |  | 77,518 |  |  | 80,264 |
Unallocated corporate assets | 295,917 |  |  | 117,287 |  |  | 24,448 |
Total assets | $ | 1,419,410 |  |  | $ | 1,256,451 |  |  | $ | 1,210,613 |
Disaggregation of Revenue | The following presents disaggregated revenue by timing of transfer of control to customers by reported segment for the years ended December 31 (in thousands):
| 2024
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Point in Time | $ | 775,541 |  |  | $ | 30,985 |  |  | $ | 2,862 |  |  | $ | 34,393 |  |  | $ | 843,781 |
Over Time | 6,978 |  |  | 254,420 |  |  | 149,949 |  |  | 53,636 |  |  | 464,983 |
Total net sales | $ | 782,519 |  |  | $ | 285,405 |  |  | $ | 152,811 |  |  | $ | 88,029 |  |  | $ | 1,308,764 |
| 2023
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Point in Time | $ | 808,225 |  |  | $ | 49,123 |  |  | $ | 4,920 |  |  | $ | 31,547 |  |  | $ | 893,815 |
Over Time | 6,578 |  |  | 281,615 |  |  | 140,047 |  |  | 55,681 |  |  | 483,921 |
Total net sales | $ | 814,803 |  |  | $ | 330,738 |  |  | $ | 144,967 |  |  | $ | 87,228 |  |  | $ | 1,377,736 |
| 2022
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Point in Time | $ | 761,576 |  |  | $ | 27,317 |  |  | $ | 13,011 |  |  | $ | 32,983 |  |  | $ | 834,887 |
Over Time | 5,672 |  |  | 350,250 |  |  | 155,857 |  |  | 43,300 |  |  | 555,079 |
Total net sales | $ | 767,248 |  |  | $ | 377,567 |  |  | $ | 168,868 |  |  | $ | 76,283 |  |  | $ | 1,389,966 |
Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile | Net sales by region or origin and long-lived assets by region of domicile for the years ended and as of December 31 were as follows (in thousands):
| 2024 |  | 2023 |  | 2022
Net sales |  |  |  |  |
North America | $ | 1,308,764 |  |  | $ | 1,366,012 |  |  | $ | 1,373,907 |
Asia | — |  |  | 11,724 |  |  | 16,059 |
Total net sales | $ | 1,308,764 |  |  | $ | 1,377,736 |  |  | $ | 1,389,966 |
Long-lived assets |  |  |  |  |
North America | $ | 156,707 |  |  | $ | 154,778 |  |  | $ | 136,553 |
Asia | 70 |  |  | 59 |  |  | 234 |
Total long-lived assets | $ | 156,777 |  |  | $ | 154,837 |  |  | $ | 136,787 |
Schedule of Segment Reporting Information, by Segment | The following tables illustrate certain measurements used by management to assess the performance of the segments described above for the years ended December 31 (in thousands):
| 2024
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Net sales | $ | 782,519 |  |  | $ | 285,405 |  |  | $ | 152,811 |  |  | $ | 88,029 |  |  | $ | 1,308,764 |
Less (1): |  |  |  |  |  |  |  |  |
Operating expenses (2) | 633,735 |  |  | 282,056 |  |  | 141,771 |  |  | 66,734 |  |  | 1,124,296 |
Segment profit | 148,784 |  |  | 3,349 |  |  | 11,040 |  |  | 21,295 |  |  | 184,468 |
Reconciliation of segment profit |  |  |  |
Unallocated corporate expenses |  |  |  |  |  |  |  |  | (41,445) |
Interest income, net |  |  |  |  |  |  |  |  | 6,171 |
Other income, net |  |  |  |  |  |  |  |  | 24,731 |
Income before taxes |  |  |  |  |  |  |  |  | $ | 173,925 |
| 2023
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Net sales | $ | 814,803 |  | $ | 330,738 |  | $ | 144,967 |  | $ | 87,228 |  | $ | 1,377,736
Less (1): |  |  |  |  |  |  |  |  |
Operating expenses (2) | 671,735 |  |  | 300,578 |  |  | 145,895 |  |  | 68,699 |  |  | 1,186,907 |
Segment profit (loss) | 143,068 |  |  | 30,160 |  |  | (928) |  |  | 18,529 |  |  | 190,829 |
Reconciliation of segment profit |  |  |  |
Unallocated corporate expenses |  |  |  |  |  |  |  |  | (40,100) |
Interest expense, net |  |  |  |  |  |  |  |  | (3,002) |
Other income, net |  |  |  |  |  |  |  |  | 1,265 |
Income before taxes |  |  |  |  |  |  |  |  | $ | 148,992 |
| 2022
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Net sales | $ | 767,248 |  |  | $ | 377,567 |  |  | $ | 168,868 |  |  | $ | 76,283 |  |  | $ | 1,389,966 |
Less (1): |  |  |  |  |  |  |  |  |
Operating expenses (2) | 640,790 |  |  | 352,324 |  |  | 165,954 |  |  | 67,280 |  |  | 1,226,348 |
Segment profit | 126,458 |  |  | 25,243 |  |  | 2,914 |  |  | 9,003 |  |  | 163,618 |
Reconciliation of segment profit |  |  |  |
Unallocated corporate expenses |  |  |  |  |  |  |  |  | (33,516) |
Interest expense, net |  |  |  |  |  |  |  |  | (4,047) |
Other expense, net |  |  |  |  |  |  |  |  | (14,565) |
Income before taxes |  |  |  |  |  |  |  |  | $ | 111,490 |
Footnotes: (1)The significant expense category and amounts align with the segment-level information that is regularly provided to the CODM. (2)Operating expenses for each reportable segment includes inventory and manufacturing expenses, employee compensation, depreciation and amortization, freight services, other costs of sales expenses, and other selling, general and administrative expenses. Additionally, operating expenses includes intangible asset impairment recognized in the Renewables and Agtech reportable segments during the year ended December 31, 2024 and intangible asset impairment in Agtech reportable segment during year ended December 31, 2023. There was no intangible asset impairment recognized during the year ended December 31, 2022. The following tables are the reported segment’s and unallocated corporate reported depreciation and amortization, and capital expenditures for the years ended December 31 (in thousands):
| 2024 |  | 2023 |  | 2022
Depreciation and Amortization |  |  |  |  |
Residential | $ | 10,416 |  |  | $ | 10,080 |  |  | $ | 8,983 |
Renewables | 8,192 |  |  | 8,671 |  |  | 8,467 |
Agtech | 3,165 |  |  | 3,789 |  |  | 4,377 |
Infrastructure | 2,972 |  |  | 3,137 |  |  | 3,150 |
Unallocated corporate expenses | 2,567 |  |  | 1,701 |  |  | 1,190 |
Total depreciation and amortization | $ | 27,312 |  |  | $ | 27,378 |  |  | $ | 26,167 |
Capital expenditures |  |  |  |  |
Residential | $ | 10,508 |  |  | $ | 6,913 |  |  | $ | 10,050 |
Renewables | 3,101 |  |  | 1,113 |  |  | 3,589 |
Agtech | 684 |  |  | 1,419 |  |  | 3,177 |
Infrastructure | 1,152 |  |  | 1,313 |  |  | 1,898 |
Unallocated corporate expenditures | 5,030 |  |  | 4,239 |  |  | 1,424 |
Total capital expenditures | $ | 20,475 |  |  | $ | 14,997 |  |  | $ | 20,138 |

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and assets. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 31 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(1)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 41 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41 + Details
Name: | us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_SegmentReportingInformationRevenueAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration