XML 43 R31.htm IDEA: XBRL DOCUMENT
v3.24.2

Segment Information (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2024
Segment Reporting Information, Revenue for Reportable Segment [Abstract] |
Reconciliation Of Sales To Earnings Before Income Taxes by Segment | The following table illustrates certain measurements used by management to assess performance of the segments described above (in thousands):
| Three Months Ended June 30, |  | Six Months Ended June 30,
| 2024 |  | 2023 |  | 2024 |  | 2023
Net sales: |  |  |  |  |  |  |
Residential | $ | 214,316 |  |  | $ | 228,234 |  |  | $ | 399,427 |  |  | $ | 407,729 |
Renewables | 79,381 |  |  | 77,459 |  |  | 130,877 |  |  | 136,664 |
Agtech | 34,508 |  |  | 35,028 |  |  | 68,535 |  |  | 70,880 |
Infrastructure | 24,800 |  |  | 24,193 |  |  | 46,672 |  |  | 42,908 |
Total net sales | $ | 353,005 |  |  | $ | 364,914 |  |  | $ | 645,511 |  |  | $ | 658,181 |
Income from operations: |  |  |  |  |  |  |
Residential | $ | 43,313 |  |  | $ | 43,959 |  |  | $ | 77,659 |  |  | $ | 73,468 |
Renewables | 1,647 |  |  | 5,908 |  |  | 3,291 |  |  | 8,177 |
Agtech | 2,282 |  |  | (1,117) |  |  | 4,890 |  |  | 1,213 |
Infrastructure | 6,215 |  |  | 5,828 |  |  | 11,111 |  |  | 8,542 |
Unallocated corporate expenses | (10,988) |  |  | (11,501) |  |  | (22,746) |  |  | (18,953) |
Total income from operations | $ | 42,469 |  |  | $ | 43,077 |  |  | $ | 74,205 |  |  | $ | 72,447 |
The following table illustrates the total assets of the Company's reportable segments and unallocated corporate assets as of (in thousands):
| June 30, 2024 |  | December 31, 2023
Total assets: |  |  |
Residential | $ | 537,821 |  |  | $ | 515,739 |
Renewables | 396,954 |  |  | 377,694 |
Agtech | 167,087 |  |  | 168,213 |
Infrastructure | 84,605 |  |  | 77,518 |
Unallocated corporate assets | 190,474 |  |  | 117,287 |
| $ | 1,376,941 |  |  | $ | 1,256,451 |
Disaggregation of Revenue | The following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the (in thousands):
| Three Months Ended June 30, 2024
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Net sales: |  |  |  |  |  |  |  |  |
Point in Time | $ | 212,524 |  |  | $ | 8,226 |  |  | $ | 189 |  |  | $ | 10,839 |  |  | $ | 231,778 |
Over Time | 1,792 |  |  | 71,155 |  |  | 34,319 |  |  | 13,961 |  |  | 121,227 |
Total net sales | $ | 214,316 |  |  | $ | 79,381 |  |  | $ | 34,508 |  |  | $ | 24,800 |  |  | $ | 353,005 |
| Three Months Ended June 30, 2023
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Net sales: |  |  |  |  |  |  |  |  |
Point in Time | $ | 226,618 |  |  | $ | 10,633 |  |  | $ | 880 |  |  | $ | 8,848 |  |  | $ | 246,979 |
Over Time | 1,616 |  |  | 66,826 |  |  | 34,148 |  |  | 15,345 |  |  | 117,935 |
Total net sales | $ | 228,234 |  |  | $ | 77,459 |  |  | $ | 35,028 |  |  | $ | 24,193 |  |  | $ | 364,914 |
| Six Months Ended June 30, 2024
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Net sales: |  |  |  |  |  |  |  |  |
Point in Time | $ | 395,856 |  |  | $ | 15,015 |  |  | $ | 2,528 |  |  | $ | 17,149 |  |  | $ | 430,548 |
Over Time | 3,571 |  |  | 115,862 |  |  | 66,007 |  |  | 29,523 |  |  | 214,963 |
Total net sales | $ | 399,427 |  |  | $ | 130,877 |  |  | $ | 68,535 |  |  | $ | 46,672 |  |  | $ | 645,511 |
| Six Months Ended June 30, 2023
| Residential |  | Renewables |  | Agtech |  | Infrastructure |  | Total
Net sales: |  |  |  |  |  |  |  |  |
Point in Time | $ | 404,560 |  |  | $ | 19,727 |  |  | $ | 4,803 |  |  | $ | 14,909 |  |  | $ | 443,999 |
Over Time | 3,169 |  |  | 116,937 |  |  | 66,077 |  |  | 27,999 |  |  | 214,182 |
Total net sales | $ | 407,729 |  |  | $ | 136,664 |  |  | $ | 70,880 |  |  | $ | 42,908 |  |  | $ | 658,181 |

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 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