<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rock="http://www.gibraltar1.com/20220331"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="rock-20220331.xsd" xlink:type="simple"/>
    <context id="icceeda861eea46aa875f621d47056534_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ie427fe4515ec42a7a85492cc13eb8ee8_I20220503">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2022-05-03</instant>
        </period>
    </context>
    <context id="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i2167179234ef490eb6357ccdea27526f_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i138c5a4ed9814c75a8955d00b2156f99_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i46ce18a26d8e4143b9eb5e2b8bb03937_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifbb73430dafd4a80ae620049292c3337_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ifb8bec9524c34aa6ba24d01de47ab115_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i84440a1b489243a3bd34ab8ce1cac05a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i71d24be88af6425b82701a348f843e7e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4df16d2540eb45b2bd05b2804d02da36_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2b890bbfc252413a902afedb306f5d06_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if9bcbda541924c48b7e4e6b65e8a6a06_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i903c70924cbb4b61a666ad298a72b297_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i4d517a8960e74abdad7e5c931529dc10_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0eff11bcbaa9456f860dda699d5adfe8_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i637f4cd2d1014b4fb0ab6e91c0eec105_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iba34e36209fe4e1c9e95f1e07e9decdc_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i6f7c975faab64d3c93c761fc0f4264da_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i789e66a4373741eaa93389c5a8a1d09a_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i034532693a7d4250ba8c37c4465102d8_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i9c21d38c0d814826a655012c07f1a1a7_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ib5268a46ef6747b2b7ef3330d54e23c0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ieb66d0108ac1426b801f4c0d4839ec5a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib53810bd1a574948b8fc784e098eb07d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ida6e55c8171b470bbca14b924c1d09d8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idf32096b939841c2b14ad3d701ce383a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibf5245b89af84314ab540f6a15676daa_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i965731a18feb41639b5d1343dd5edec5_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i2e95233b53d64c1a98ef1c593e9c87d2_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i059143915e0e4a989869629d0b49ba34_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="icb51eb61025f493a949c962620241bbf_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i3b426b7d4b134b56bedb29867ed3024f_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i83158e37cbf641e09849d5b6b22a2436_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i844f527a0fe54334ad4de15d39f39964_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ide624d04497349f69dffc3f83bcbea16_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i952dcbdd8b4d46f28fcda0280862ede1_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i8bdbea0419f849c88d05df38ad373104_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i1bd0a5098749410d9fd2ae40d131b2ca_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia6e64889b81a4922b44b962d644d5b0d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i568389394f7f46209bf58ac5471e2654_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ieae525afccd94db882b64588c7570c2d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i772d732ea72a4b208bcd510f4a4bb0c2_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i8f0190aaaa05403294a7b27a6ebfb08d_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia4624d2c98c044a18ba80ccee868d10d_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i4d905a570caa4cc0a3907146dd2213a3_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i55e9ce3dc888446d81898c8153aee17f_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i84d053ef2ace4b66b6504de191018d33_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i1d8d2507b9314a83a16c3a2f6e6f3468_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i8c4c54869e9c482a89c70982cf01d6f9_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ibb326f30119745e9a0e9f6268ead976b_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i7e6184138b29443d83dcf01717298c50_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia9747a514b4c4518af7364085c5c38b6_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i6b37b017010d4b7fa276b40d09a9d7ec_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1362d40ef361419ea5bf8bf0cb279ccf_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i2fbf4851823d4159a524d76094155494_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id7304d18bfb0426c82b1636048061075_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ie257c9bad9f749e387d2546867d59ab2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id11c3f69be1745f6a70b13457b917bb4_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i7fceaf269bb04d7d96c4aa8f04d5fba9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic2f6f696f90545cd9a4effa5b684a996_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i3a8b60eb9b20416a9ab32020664b5dab_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie5ede2226b1345afa3411e87cb9f2ed2_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i17bc900c415e446a8fdc119ca66a1039_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i06d38b25f62d4ecb8c5d1c91dc5a2488_I20190124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-24</instant>
        </period>
    </context>
    <context id="i6873d841e4e649d5b37d318653ba5108_I20190124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MediumTermNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-24</instant>
        </period>
    </context>
    <context id="if30f6d159aa6401cb4b1ad0f523c87ab_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i2491c66d0d3b4328b69743c3f293abe7_D20190124-20190124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="i4ca07edcc2674c5c8a45cea598a4270e_D20190124-20190124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="i569f879f31a5463e9b32d6aa27e1d4c3_D20190124-20190124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="i42725bb809644deeb59ef8039666bfb9_D20190124-20190124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="i5f9ca6dcaa7a498fbaa2c8dfcca0f431_I20190124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2019-01-24</instant>
        </period>
    </context>
    <context id="if6733766409d404780637bacd4e40f2b_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:StandbyLettersOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i1d7a2e9388eb4eedba4af363e951e5cb_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i2143e95bd691486e861847e393536dd7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9d3349f2ed6246e0be555a5e3e218eca_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia2e786ba1c3d4fdbb3fa9638bd440357_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="idce4608a4fb04a878b780fda2c755916_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib661567660dc4fdb9c0f382eb48d6d3b_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ife702c3a50374340a583d87bbdfa9438_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ief296a867e1444ff8e15d9bf4c44a68f_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ic4ff19298bb24a4286bdbbd9aace77e0_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i239b47ed627a411e95863e6104682f78_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6b718ae3fe89415c9edb678567fa2fd2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8c778fa44d504b1d9d7f8de10380ad0a_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ide3ed9cd55774afb9da1582bf80e8511_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="iaf23a18af4b549a38e875ac2859e4086_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i4d1770a82b08469da55d3810845f6481_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i32c14d8e5e4b4038bab8d9c69d22109a_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i9d4072d01fd2405390dc8e53c60fab4f_I20180504">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:A2018PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-05-04</instant>
        </period>
    </context>
    <context id="i5a1fab90ca824b29bc52d0bcaa7144a4_I20161231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="i78a586a00b8e442e8cbc584c85a2d139_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i85c2ff70604e42289af8ab1cd19d9877_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i9bdaa09ee3a34906b0dbfb8e89122c11_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i245589f97c724176a09061f5d851e665_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i36c6c56681f74ae38bb5dfa9480c1123_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ifa6b15575ceb4ee6b9b4a43faad5658c_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i5823b97e2327483784c7ccc22d16c07c_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rock:SharebasedCompensationMeasurementReturnOnInvestedCapitalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:A2018PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i09c55e8644564259b33564ecc578e14e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rock:SharebasedCompensationMeasurementTotalShareholderReturnMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:A2018PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0c7c58df75234dc491e16405f7575adf_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i90b7286f7ec04c0f945e394432f46309_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i6c02e2e710144f8e91b6f241e9a7b1fe_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1f27ec11d9504d588d153e2e4e9194f9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if5d6d8bb7e044423a62ce3390ea2aa8b_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i6fc2086847d44b8aba9ccd3a5080ee6b_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i89d3f1a9cd894620876d77165769e9ca_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i82e52e4f8be54d79b5fc385a7224185d_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i86d6687e8ff443c480979187f6680a1d_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:ProcessingBusinessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="id4be17fb559c47f78725c79feece0d3e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:ProcessingBusinessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="icdd0120f6fcc400a80d966f96f56f1dc_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:ProcessingBusinessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i5530ab79abf84ae5b5689a6b2be203be_I20210223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-23</instant>
        </period>
    </context>
    <context id="i459d20c849e940d1a79dd064110d4db4_D20210223-20210223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-23</startDate>
            <endDate>2021-02-23</endDate>
        </period>
    </context>
    <context id="i8ed5c06a20614f818d4be4576c3eebcc_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsHeldforsaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i56eacd63825a45e181fc8bfaf96af2c6_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsHeldforsaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ied59e9df3fcc4790b6c1e8973dadacb0_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i27e03da40a9f49dfbd2c96c8ddf12268_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i69d7f6dbe7f140d792dddb226fa26570_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i44f566e1df0e4e3b8d2d24b1ba59627c_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i875fb196b1bf4ac0948496f2bec1ee67_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i1b4738782de54575adbb4615345a5776_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i40d47d2dd4e14a47bef6f0b7aeeac370_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="icd9e6bc72cd24d5e8001ba1790303331_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i5aea3f95a9d7468c8d4b3dbdd75cdc64_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i4acc2224b7df43f1b261906e5603c655_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="id072df12760c4daeac72b78b979e836a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i068750d5349d40a3b98f6db57a36d67e_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i3b4cd0409071419498c4f0ae981f99bf_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib801fd74cc674a9f81a0f95d3f0c048f_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i012e99f12b454155b90f54a8f81d8065_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i236a5838b698434eaec740fc5a9f14ff_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i6a4a56ba2ca54376bad9e07375c7872a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ibb4b91b599ba469eac7c0fc92b626ddd_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="id52dad919f0a40afa07ccec2a60dbab8_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="idbe51be2fd924d129d106cb4c9662aba_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="idae69561659640149225af2e8788173e_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="iaca72df29baa48a38f39b1fb6b1fda6c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4033cfaccc9544c993d1646be882b3ca_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i86928b2538234de5b0358e57c6b3d61d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i98abadda2faf4d95908fe41fc41c9677_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i2d7c6ad253b240abbb97930723b5b355_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4d1c09dff48344b4a079701a13d2f194_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i25c4f709aecd4f4192a3c0cd3de7eac2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib8320e72c2094614bce66e8ac022257d_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i98583581d764430aa8d1bbec0f54c604_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if1a742c38a694e80a140e61f339dfbe3_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i8b0b4dea3c504a758a8775492212bd66_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i32ff1741f5044b3e9d970bc6830ed5d6_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ie902a3770f7e41059bb7eb94a9b9a933_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="if712c6539d514d5d87f38ed4a7b5771c_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia66fac230b0740c68c9f50d1afb60a91_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ie1982ff4847e466c84595c887d602164_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="if583da7b9dc445b598624f2b657b85f8_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ied323c2f1fa34e16840678188e5f1531_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i9858eeb92dc34e16a94c496e3016e511_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i9ca22f2d380f40e9957b0cf7731825c0_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i7bd22a2d21c749dda0aeae08eb5c4118_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="if80cd4eb4ac941569843d15bce4d014e_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ia732e9da764f47e5a0033c85e03b41bc_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i5a1df2d5b81d4c96abef8804610be6bc_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i0e079c061ff243229b63ca0a4b37c373_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i62445ac2b0514db89c88d05f8bcee764_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ia3772e30827540209e7c3f04bfb6ad57_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i5cdcf5f6f05446d2a09819b535ef10bb_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i20fe46b3951247669424eb51442d3e3e_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ic44697947f644c18878bc63929c6e4d1_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i88cc4d7617d04ec1a0c36c66defda7a7_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i868d0ab06f414502958f6b6d06d3f02d_I20220504">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-04</instant>
        </period>
    </context>
    <context id="i9b369500833d4cf3b8135f58022d1d3d_D20220501-20220504">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-05-04</endDate>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="debtcovenant">
        <measure>rock:debtCovenant</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="facility">
        <measure>rock:facility</measure>
    </unit>
    <unit id="segment">
        <measure>rock:segment</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80L2ZyYWc6YjdjMTdmYWVhMGUxNDI3OWExMzFmNDBkMjU1NDlkYjQvdGFibGU6YzE2ODE0YmNhNzZkNDE0MzkzMTIyNWJhY2RjMTk0YmYvdGFibGVyYW5nZTpjMTY4MTRiY2E3NmQ0MTQzOTMxMjI1YmFjZGMxOTRiZl8yLTEtMS0xLTU2MTMw_15849218-4182-4e71-aefa-e78369e2ad81">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80L2ZyYWc6YjdjMTdmYWVhMGUxNDI3OWExMzFmNDBkMjU1NDlkYjQvdGFibGU6YzE2ODE0YmNhNzZkNDE0MzkzMTIyNWJhY2RjMTk0YmYvdGFibGVyYW5nZTpjMTY4MTRiY2E3NmQ0MTQzOTMxMjI1YmFjZGMxOTRiZl80LTEtMS0xLTU2MTMw_22b3dfcf-8542-4d55-a0ca-e4bcbaa50e0c">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80L2ZyYWc6YjdjMTdmYWVhMGUxNDI3OWExMzFmNDBkMjU1NDlkYjQvdGFibGU6YzE2ODE0YmNhNzZkNDE0MzkzMTIyNWJhY2RjMTk0YmYvdGFibGVyYW5nZTpjMTY4MTRiY2E3NmQ0MTQzOTMxMjI1YmFjZGMxOTRiZl81LTEtMS0xLTU2MTMw_0c3c9a0b-511c-463e-9bf5-ace4f558e43b">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80L2ZyYWc6YjdjMTdmYWVhMGUxNDI3OWExMzFmNDBkMjU1NDlkYjQvdGFibGU6YzE2ODE0YmNhNzZkNDE0MzkzMTIyNWJhY2RjMTk0YmYvdGFibGVyYW5nZTpjMTY4MTRiY2E3NmQ0MTQzOTMxMjI1YmFjZGMxOTRiZl82LTEtMS0xLTU2MTMw_daf88e0c-f379-446d-9d1b-8a9fe16ae976">0000912562</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80L2ZyYWc6YjdjMTdmYWVhMGUxNDI3OWExMzFmNDBkMjU1NDlkYjQvdGFibGU6YzE2ODE0YmNhNzZkNDE0MzkzMTIyNWJhY2RjMTk0YmYvdGFibGVyYW5nZTpjMTY4MTRiY2E3NmQ0MTQzOTMxMjI1YmFjZGMxOTRiZl83LTEtMS0xLTU2MTMw_842ce229-7b17-4376-987c-e1ec0ebcc016">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentType
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTY4_1feb47e5-cd91-445f-aaa5-3df1450586f6">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTcxNTA2YTA0NzQ3NGRmMjhhMDYyMDU3ODVmMzFmODkvdGFibGVyYW5nZTo1NzE1MDZhMDQ3NDc0ZGYyOGEwNjIwNTc4NWYzMWY4OV8wLTAtMS0xLTU2MTMw_1f63b988-8913-4872-86e3-ddfca9020add">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xMzI_e9cc57bc-742e-44e2-9a07-9c3e9464cc81">2022-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTQ5ODhkZDgxNmUwNDI5MThkMjAyMjIxNDlhYWZlMTgvdGFibGVyYW5nZTo1NDk4OGRkODE2ZTA0MjkxOGQyMDIyMjE0OWFhZmUxOF8wLTAtMS0xLTU2MTMw_2deae99a-3f3a-48d9-b4d5-d5d2f587e7b2">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTY5_c216e1b7-7964-4ab2-b23d-d9e0a1db4f80">000-22462</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTcw_d6f93971-b65a-4865-8667-87e272aa4e01">GIBRALTAR INDUSTRIES, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTY5ZjE0M2Q5MWY5NDI4Njg5ZDRlM2I0ZWFiOGQ0YWEvdGFibGVyYW5nZTo1NjlmMTQzZDkxZjk0Mjg2ODlkNGUzYjRlYWI4ZDRhYV8wLTAtMS0xLTU2MTMw_8a25e93e-04a3-4c42-9911-09516e2007e4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTY5ZjE0M2Q5MWY5NDI4Njg5ZDRlM2I0ZWFiOGQ0YWEvdGFibGVyYW5nZTo1NjlmMTQzZDkxZjk0Mjg2ODlkNGUzYjRlYWI4ZDRhYV8wLTUtMS0xLTU2MTMw_76a9e694-8cde-4290-a21e-07a7497973cb">16-1445150</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTY5ZjE0M2Q5MWY5NDI4Njg5ZDRlM2I0ZWFiOGQ0YWEvdGFibGVyYW5nZTo1NjlmMTQzZDkxZjk0Mjg2ODlkNGUzYjRlYWI4ZDRhYV8zLTAtMS0xLTU2MTMw_9a808b94-f40a-4cae-9704-2ffea9589043">3556 Lake Shore Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTY5ZjE0M2Q5MWY5NDI4Njg5ZDRlM2I0ZWFiOGQ0YWEvdGFibGVyYW5nZTo1NjlmMTQzZDkxZjk0Mjg2ODlkNGUzYjRlYWI4ZDRhYV8zLTEtMS0xLTU2MTMw_d2fd7ba4-f917-4d2f-854b-d7733c16aea1">P.O. Box 2028</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTY5ZjE0M2Q5MWY5NDI4Njg5ZDRlM2I0ZWFiOGQ0YWEvdGFibGVyYW5nZTo1NjlmMTQzZDkxZjk0Mjg2ODlkNGUzYjRlYWI4ZDRhYV8zLTItMS0xLTU2MTMw_2416883c-1b9f-498a-9f9e-074f02321f1f">Buffalo</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTY5ZjE0M2Q5MWY5NDI4Njg5ZDRlM2I0ZWFiOGQ0YWEvdGFibGVyYW5nZTo1NjlmMTQzZDkxZjk0Mjg2ODlkNGUzYjRlYWI4ZDRhYV8zLTMtMS0xLTU2MTMw_41cf94d8-e00a-4fcb-85a5-b707fce1a6a8">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6NTY5ZjE0M2Q5MWY5NDI4Njg5ZDRlM2I0ZWFiOGQ0YWEvdGFibGVyYW5nZTo1NjlmMTQzZDkxZjk0Mjg2ODlkNGUzYjRlYWI4ZDRhYV8zLTUtMS0xLTU2MTMw_deca27b4-bfe0-4e69-8494-8cf3fd74baf0">14219-0228</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTcx_2a028bd2-747c-4a7c-9fb6-6ec0755af79f">716</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTY0_1d3381c3-4144-4a91-8dd7-103aefaffc7c">826-6500</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6MGJhZjA4NDJlNjc5NGU5MWE0NTNkNTYzNDdiZDA2Y2UvdGFibGVyYW5nZTowYmFmMDg0MmU2Nzk0ZTkxYTQ1M2Q1NjM0N2JkMDZjZV8xLTAtMS0xLTU2MTMw_0289de6a-e7bb-4034-b38c-b8332646df47">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6MGJhZjA4NDJlNjc5NGU5MWE0NTNkNTYzNDdiZDA2Y2UvdGFibGVyYW5nZTowYmFmMDg0MmU2Nzk0ZTkxYTQ1M2Q1NjM0N2JkMDZjZV8xLTItMS0xLTU2MTMw_5dea8e9d-51c7-42ed-ae30-fb72da6a3dda">ROCK</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6MGJhZjA4NDJlNjc5NGU5MWE0NTNkNTYzNDdiZDA2Y2UvdGFibGVyYW5nZTowYmFmMDg0MmU2Nzk0ZTkxYTQ1M2Q1NjM0N2JkMDZjZV8xLTQtMS0xLTU2MTMw_706f8a18-b4a0-4325-9ec8-802d53f27353">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTY1_ef942bd1-7ddf-4e50-8508-364ef02025ce">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTY2_a98784b3-79da-4a5e-a049-784bd2b9eae7">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6ZWNmZDJjNDU3NWUzNDc4NmI1YzdmYWI1NTg1YjhkODUvdGFibGVyYW5nZTplY2ZkMmM0NTc1ZTM0Nzg2YjVjN2ZhYjU1ODViOGQ4NV8wLTAtMS0xLTU2MTMw_10fc8587-94c4-498d-a671-dcc8b04ee551">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6ZWNmZDJjNDU3NWUzNDc4NmI1YzdmYWI1NTg1YjhkODUvdGFibGVyYW5nZTplY2ZkMmM0NTc1ZTM0Nzg2YjVjN2ZhYjU1ODViOGQ4NV8wLTctMS0xLTU2MTMw_e65f6d04-3196-460c-8673-45c13c4c28f1">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGFibGU6ZWNmZDJjNDU3NWUzNDc4NmI1YzdmYWI1NTg1YjhkODUvdGFibGVyYW5nZTplY2ZkMmM0NTc1ZTM0Nzg2YjVjN2ZhYjU1ODViOGQ4NV8wLTktMS0xLTU2MTMw_7ee3aca7-eee0-4ddc-bb6d-5a860cefc00e">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18yNzQ4Nzc5MDcxNDMw_710c0cc2-21f5-422e-b7e7-8b10d9fe5b8f">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ie427fe4515ec42a7a85492cc13eb8ee8_I20220503"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xL2ZyYWc6OWEyZjY3Mzg5MzAwNDcyNDhhYjFmMjdjMjBmNDY0OGMvdGV4dHJlZ2lvbjo5YTJmNjczODkzMDA0NzI0OGFiMWYyN2MyMGY0NjQ4Y18xOTYy_33b91691-25e0-4bec-867e-74a561545f31"
      unitRef="shares">32793333</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Revenues
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMi0xLTEtMS01NjEzMA_2dd00e08-1fc8-4cfc-8544-673d37612a80"
      unitRef="usd">317865000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMi0zLTEtMS01NjEzMA_2739ed9c-1906-4652-a9ee-6fecab8a417f"
      unitRef="usd">287592000</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMy0xLTEtMS01NjEzMA_8a4bceca-11d1-4d08-a07f-0c4df9a8c796"
      unitRef="usd">253021000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMy0zLTEtMS01NjEzMA_e7216d45-24a6-4b34-9e88-a3d4fcf406e0"
      unitRef="usd">227574000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfNC0xLTEtMS01NjEzMA_da0b0ace-2553-4aed-959e-6c724bee1a82"
      unitRef="usd">64844000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfNC0zLTEtMS01NjEzMA_3bc888cf-c9db-4709-add7-f02808ed9994"
      unitRef="usd">60018000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfNS0xLTEtMS01NjEzMA_6a93e65c-22e1-4147-baa1-ca7a22c945c3"
      unitRef="usd">43649000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfNS0zLTEtMS01NjEzMA_fa75782a-8232-4a2b-ac82-9a36e3b282ed"
      unitRef="usd">47203000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfNy0xLTEtMS01NjEzMA_5a4c1296-6737-41f2-8cfd-6cf9edf63e7e"
      unitRef="usd">21195000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfNy0zLTEtMS01NjEzMA_4b41f0a4-5263-41ff-9f94-ff5ed624bb13"
      unitRef="usd">12815000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfOC0xLTEtMS01NjEzMA_4faf5515-63f6-4920-8a8f-a83477169933"
      unitRef="usd">-485000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfOC0zLTEtMS01NjEzMA_007bc64e-d26e-43b5-8e1a-fad21e5f6832"
      unitRef="usd">-444000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfOS0xLTEtMS01NjEzMA_ec9f7848-9cdf-4259-b637-26d44164e6ea"
      unitRef="usd">-153000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfOS0zLTEtMS01NjEzMA_c92b4e17-1f0f-4342-8b44-a7615fdd5527"
      unitRef="usd">-315000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTAtMS0xLTEtNTYxMzA_bcae5c6e-c8f9-4f3f-ad29-b2cab827c17f"
      unitRef="usd">20557000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTAtMy0xLTEtNTYxMzA_6992b124-c4c9-4607-851e-a955b4eb6111"
      unitRef="usd">12056000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTEtMS0xLTEtNTYxMzA_7123fcae-1d6a-4efd-be05-7799004c7eef"
      unitRef="usd">5101000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTEtMy0xLTEtNTYxMzA_058f3ee7-5204-46e3-9078-5b0315ef6162"
      unitRef="usd">1560000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTItMS0xLTEtNTYxMzA_6cd3ade6-6052-42b0-8a89-437b44717da6"
      unitRef="usd">15456000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTItMy0xLTEtNTYxMzA_0d4d84c3-873c-4980-b2f6-ab2dbf96a422"
      unitRef="usd">10496000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTQtMS0xLTEtNTYxMzA_62ca5b59-6de2-43ae-ace9-748115e268af"
      unitRef="usd">0</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTQtMy0xLTEtNTYxMzA_a5a5f28b-60dc-461c-af14-c897a46354f8"
      unitRef="usd">2570000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTUtMS0xLTEtNTYxMzA_92a754de-def2-4d10-9c2d-c7045ba48256"
      unitRef="usd">0</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTUtMy0xLTEtNTYxMzA_866b4860-189a-45ab-8a68-a3b0f4f63ad9"
      unitRef="usd">304000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTYtMS0xLTEtNTYxMzA_4d713d8d-11d5-4195-996f-eaa3319d0c24"
      unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTYtMy0xLTEtNTYxMzA_01c901c3-06bf-4167-b5c1-6b2fbf4db7f3"
      unitRef="usd">2266000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:NetIncomeLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTctMS0xLTEtNTYxMzA_4f917b77-2455-44d0-b56a-f4d3e9d5b83f"
      unitRef="usd">15456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTctMy0xLTEtNTYxMzA_3decda92-35ce-41de-b02a-26b71b47be3b"
      unitRef="usd">12762000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTktMS0xLTEtNTYxMzA_53d9da96-4ee4-41e5-9157-877074339022"
      unitRef="usdPerShare">0.47</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMTktMy0xLTEtNTYxMzA_597a3dd4-fd23-47bf-8bf3-6d4b4f097b10"
      unitRef="usdPerShare">0.32</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjAtMS0xLTEtNTYxMzA_54c120e6-4028-4d29-b560-ce1df5b158f3"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjAtMy0xLTEtNTYxMzA_5744bbae-48d1-408c-8d3d-8c6c088d13b1"
      unitRef="usdPerShare">0.07</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:EarningsPerShareBasic
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjEtMS0xLTEtNTYxMzA_ecb51b3a-c2f8-434a-8327-16003ba13a2e"
      unitRef="usdPerShare">0.47</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjEtMy0xLTEtNTYxMzA_b52ac002-6c9c-4119-b3b8-e1d82f9dccec"
      unitRef="usdPerShare">0.39</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjItMS0xLTEtNTYxMzA_12ccb9ba-625f-4632-b0cb-4e3daa183698"
      unitRef="shares">32913000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjItMy0xLTEtNTYxMzA_e20cd064-e8c8-42ea-8000-1fa99d76c625"
      unitRef="shares">32771000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjQtMS0xLTEtNTYxMzA_80c7ea66-0347-49af-b086-a915f5fe11d4"
      unitRef="usdPerShare">0.47</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjQtMy0xLTEtNTYxMzA_a583949b-4935-459c-97dc-3921cfe7da9b"
      unitRef="usdPerShare">0.32</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjUtMS0xLTEtNTYxMzA_0d667c62-f7c1-4b97-8170-b689c00de522"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjUtMy0xLTEtNTYxMzA_4342c346-9c73-4687-837b-86add5c65dc6"
      unitRef="usdPerShare">0.07</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjYtMS0xLTEtNTYxMzA_648e3314-160a-41d7-822e-873f545ec592"
      unitRef="usdPerShare">0.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjYtMy0xLTEtNTYxMzA_80ee2d59-421d-4892-af6f-4a9e9d330f38"
      unitRef="usdPerShare">0.39</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjctMS0xLTEtNTYxMzA_fd774d5a-6c9f-426a-94a0-cbfc48b9046e"
      unitRef="shares">33022000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xNi9mcmFnOmEyYzc4ZmFkYTEyMTRkMTlhNWFiMjk1MzAyM2M4MGEwL3RhYmxlOjg5YWQ4ZDRhNzg1YTQzNDg5ZWJiZmU2ZWY1NjBjMGEwL3RhYmxlcmFuZ2U6ODlhZDhkNGE3ODVhNDM0ODllYmJmZTZlZjU2MGMwYTBfMjctMy0xLTEtNTYxMzA_11627e91-e3d5-4903-ab7b-77355640d55c"
      unitRef="shares">33104000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfMi0xLTEtMS01NjEzMA_b2b94a62-5d9d-4db0-958e-60e70f950e86"
      unitRef="usd">15456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfMi0zLTEtMS01NjEzMA_4fc2262e-cd62-4dc6-b952-6a731a921a2e"
      unitRef="usd">12762000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfNC0xLTEtMS01NjEzMA_ede46e32-c3b1-487f-8861-5c4ec02a6987"
      unitRef="usd">-227000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfNC0zLTEtMS01NjEzMA_6dff1c8b-aaaf-48a8-8608-bc7e42cde916"
      unitRef="usd">3198000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfNi0xLTEtMS01NjEzMA_c4f9d36b-6130-4cd9-b299-125c01f3a660"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfNi0zLTEtMS01NjEzMA_fc61b7b9-4108-49a4-a396-7c81b402c00c"
      unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfOC0xLTEtMS01NjEzMA_bd421d16-3bd1-4df1-9cb8-5e6ea0a23642"
      unitRef="usd">-203000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfOC0zLTEtMS01NjEzMA_f9bc019a-9c13-4f50-b4c7-8b03446a88a1"
      unitRef="usd">3225000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfOS0xLTEtMS01NjEzMA_ac0c65b8-33bb-46a6-ae99-7db68871049c"
      unitRef="usd">15253000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xOS9mcmFnOjc5NDk0YjMxNDUwZDRhYWVhY2IwOWUwZGE0YjU1YzJhL3RhYmxlOmRmZjNjZDhhOGUwNTQ0OWNiYzc3MTNlNzVjNzhhZmYzL3RhYmxlcmFuZ2U6ZGZmM2NkOGE4ZTA1NDQ5Y2JjNzcxM2U3NWM3OGFmZjNfOS0zLTEtMS01NjEzMA_5d504b79-865c-4bc6-a284-4607e9346681"
      unitRef="usd">15987000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNC0xLTEtMS01NjEzMA_95b927c1-70cf-4bcd-81c2-293991eea3c7"
      unitRef="usd">15573000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNC0zLTEtMS01NjEzMA_d4126cfb-9c25-460a-8401-c297675b628e"
      unitRef="usd">12849000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNS0wLTEtMS01NjEzMC90ZXh0cmVnaW9uOjE2YTYzMGRjNWIxZjQwZmZiOTMzMWYyNDczMGE0M2E1XzQ1_2ea4c451-8ca0-44e7-a42f-9a523a65e783"
      unitRef="usd">4433000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNS0wLTEtMS01NjEzMC90ZXh0cmVnaW9uOjE2YTYzMGRjNWIxZjQwZmZiOTMzMWYyNDczMGE0M2E1XzUy_63f4b5d2-9cf7-46ad-aa30-7e8377241a9c"
      unitRef="usd">3738000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNS0xLTEtMS01NjEzMA_6ca2ee1b-8685-49c0-9199-fdf47d281de6"
      unitRef="usd">245807000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNS0zLTEtMS01NjEzMA_2788ab23-801d-4825-bbfd-486a46dfe3c3"
      unitRef="usd">236444000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNi0xLTEtMS01NjEzMA_444afcbb-7868-4dc0-805c-8299b871e454"
      unitRef="usd">187255000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNi0zLTEtMS01NjEzMA_78f28b52-a9fd-4472-bda5-c0bd9074a249"
      unitRef="usd">176207000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNy0xLTEtMS01NjEzMA_64510bb0-b9e7-45d4-9c9f-424a3bbd60e5"
      unitRef="usd">36836000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfNy0zLTEtMS01NjEzMA_ff3c3e91-ac8b-40c0-8c1e-ce518450850a"
      unitRef="usd">21467000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfOS0xLTEtMS01NjEzMA_1a7b87f7-a36a-40f4-948d-01e50ae563f9"
      unitRef="usd">485471000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfOS0zLTEtMS01NjEzMA_652d585c-bf5b-4d03-b7dd-e6f363674bbc"
      unitRef="usd">446967000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTAtMS0xLTEtNTYxMzA_dfcf4dbf-2de5-474d-8631-0a971a57eac9"
      unitRef="usd">97720000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTAtMy0xLTEtNTYxMzA_5cf4938a-9592-43c8-9dc6-0e4c92efe095"
      unitRef="usd">96885000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTEtMS0xLTEtNTYxMzA_7772f51b-861b-41a7-bf71-76d0a4a500e1"
      unitRef="usd">16082000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTEtMy0xLTEtNTYxMzA_0d3d892d-2452-4eab-88d5-37aee32fbcfc"
      unitRef="usd">18120000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTItMS0xLTEtNTYxMzA_d53f626a-9f4d-4a18-a1c4-570a9d57da5d"
      unitRef="usd">510540000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTItMy0xLTEtNTYxMzA_21cac5ac-d386-4c16-9fbd-e949d65738fb"
      unitRef="usd">510942000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTMtMS0xLTEtNTYxMzA_98ea0966-d503-46a7-9548-6cf64c88b80b"
      unitRef="usd">132107000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTMtMy0xLTEtNTYxMzA_7c6e937d-707a-4ec6-afb5-5f6ce3b53e75"
      unitRef="usd">141504000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTQtMS0xLTEtNTYxMzA_cc202df9-8d72-4941-b0f9-a3b24a3d9aee"
      unitRef="usd">420000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTQtMy0xLTEtNTYxMzA_7e0aaee3-994f-492c-9d52-e702342a1681"
      unitRef="usd">483000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTUtMS0xLTEtNTYxMzA_9d26ff56-f602-40a7-ae45-62df13dba88e"
      unitRef="usd">1242340000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTUtMy0xLTEtNTYxMzA_87971d5c-c7c4-43e7-9445-89417ca40f35"
      unitRef="usd">1214901000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTgtMS0xLTEtNTYxMzA_0b553a48-17b4-434a-a8de-c4bb41b36413"
      unitRef="usd">159214000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTgtMy0xLTEtNTYxMzA_1353651e-8e9f-4ae3-b271-2c1ebeb9ac37"
      unitRef="usd">172286000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTktMS0xLTEtNTYxMzA_3c23afce-1983-4768-bf8f-faee472b6128"
      unitRef="usd">67495000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMTktMy0xLTEtNTYxMzA_9f8789cb-dc95-4161-8032-669cb80aada5"
      unitRef="usd">67993000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjAtMS0xLTEtNTYxMzA_a5e1bceb-b9f8-4cff-8263-2b8bbba0ed63"
      unitRef="usd">60992000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjAtMy0xLTEtNTYxMzA_783431e8-5b0a-4220-9c6c-d3200ac3f3d8"
      unitRef="usd">46711000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjMtMS0xLTEtNTYxMzA_fbf28566-7028-441e-97f2-47453ad6f0ca"
      unitRef="usd">287701000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjMtMy0xLTEtNTYxMzA_eab9f7ee-79ac-4708-ae28-779334ecd4fb"
      unitRef="usd">286990000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjQtMS0xLTEtNTYxMzA_3a50178e-d78e-4c06-9121-d568221901e8"
      unitRef="usd">42367000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjQtMy0xLTEtNTYxMzA_e6f13352-9d4e-4926-bbba-d50f44a0572f"
      unitRef="usd">23781000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjUtMS0xLTEtNTYxMzA_48cb63e3-1de0-44fc-8c13-c0d922b5cfe0"
      unitRef="usd">40221000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjUtMy0xLTEtNTYxMzA_7c989767-7bd1-4180-85ad-13e284f13cd3"
      unitRef="usd">40278000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjYtMS0xLTEtNTYxMzA_48bbb8d2-2f5f-4778-928a-3af377f9f5ff"
      unitRef="usd">9377000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjYtMy0xLTEtNTYxMzA_cee11536-ac40-4f9d-a0b7-d8750d18c5b6"
      unitRef="usd">11390000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjctMS0xLTEtNTYxMzA_b4b6c073-7c4e-43d0-a46f-96d84dceb962"
      unitRef="usd">24272000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjctMy0xLTEtNTYxMzA_6a410d2b-3733-4b86-9ade-5e87cbf93c52"
      unitRef="usd">27204000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo0ZTdkYmVmZGIwMTU0ZmRjODJjOTcwMmU3OGQ5YjFiNl8yMQ_055aa528-9ddd-44e7-896a-62237b3a298f"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo0ZTdkYmVmZGIwMTU0ZmRjODJjOTcwMmU3OGQ5YjFiNl8yMQ_1469485c-ff49-426d-96e4-d6a3c5f39ea8"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo0ZTdkYmVmZGIwMTU0ZmRjODJjOTcwMmU3OGQ5YjFiNl80Ng_5ca16182-2f64-419b-9399-aaf77f4084a6"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo0ZTdkYmVmZGIwMTU0ZmRjODJjOTcwMmU3OGQ5YjFiNl80Ng_89017f04-5285-430c-a9f5-7a3051da61d5"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo0ZTdkYmVmZGIwMTU0ZmRjODJjOTcwMmU3OGQ5YjFiNl81Nw_2a0de420-5158-4bf8-9a44-a3f81440fde2"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo0ZTdkYmVmZGIwMTU0ZmRjODJjOTcwMmU3OGQ5YjFiNl81Nw_d0c793cd-b11e-404c-b32e-ee21ec29a525"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMS0xLTEtNTYxMzA_89769f93-748a-4338-8b67-4001b8617be4"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMjktMy0xLTEtNTYxMzA_a0c8e26b-87f4-4b30-98db-a21d11147212"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8xOA_2686f746-a30f-4421-8c9e-2c9d9f841d11"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8xOA_f7231377-6c35-4b1b-88d8-2a302cbca5fd"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8zMg_8bf1385f-ad39-4ee0-923b-df6ad419ea3e"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8zMg_f9df0bf9-bb33-4f07-92f7-35ec52b737fc"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8xMjY_0a4bfb40-6633-49a3-b294-334ac0dbba82"
      unitRef="shares">33972000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8xMjY_81483e99-3560-4f4f-898a-9bf7c91f1632"
      unitRef="shares">33972000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8xNDA_2af21598-7d0f-44b1-8ef1-841a171ffd25"
      unitRef="shares">33799000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3NDcwYTFlMmUwMDE0NjFjYjg2YzNiNWJkZGJmNzVhZF8xNDA_d865d629-668b-400b-826d-b6a7bee35f1a"
      unitRef="shares">33799000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMS0xLTEtNTYxMzA_62947c0a-c524-4b1e-b973-2ecff572238e"
      unitRef="usd">340000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzAtMy0xLTEtNTYxMzA_cd1fc5fd-b857-4377-81fe-27d744a45676"
      unitRef="usd">338000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzEtMS0xLTEtNTYxMzA_5c357bed-d0b9-44cc-9e8a-f7bed93984a4"
      unitRef="usd">315891000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzEtMy0xLTEtNTYxMzA_e7eba149-2556-4f6b-94bd-0360f4c9f0dd"
      unitRef="usd">314541000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzItMS0xLTEtNTYxMzA_cd9a3d8e-f6a5-4b45-9d70-af2b10544b8f"
      unitRef="usd">561028000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzItMy0xLTEtNTYxMzA_da9cf6f6-221c-4730-87d2-b176dcd80e38"
      unitRef="usd">545572000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzMtMS0xLTEtNTYxMzA_b68026e7-1c4d-418d-a509-6be605fb7cb0"
      unitRef="usd">-16000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzMtMy0xLTEtNTYxMzA_f7c42250-500e-4094-bda9-8b3c539d5379"
      unitRef="usd">187000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzQtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3ZjE3NmM5MTVlOTM0MGJiODFiNTQwMjQwMmZkODA0YV8xMg_4c383e81-1f04-4775-a981-5fac31caaae5"
      unitRef="shares">1179000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzQtMC0xLTEtNTYxMzAvdGV4dHJlZ2lvbjo3ZjE3NmM5MTVlOTM0MGJiODFiNTQwMjQwMmZkODA0YV8xOQ_56c56878-436e-4633-8a71-992d492eced5"
      unitRef="shares">1107000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzQtMS0xLTEtNTYxMzA_2a06a85e-2f48-4549-85b6-83885203089a"
      unitRef="usd">38841000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzQtMy0xLTEtNTYxMzA_85461224-a4cd-444c-9f9f-371d21619086"
      unitRef="usd">35380000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzUtMS0xLTEtNTYxMzA_b21feb3b-6670-4c31-a000-d9a9da35130a"
      unitRef="usd">838402000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzUtMy0xLTEtNTYxMzA_ff3cbfee-150a-4caf-9c81-7c45b79a1c33"
      unitRef="usd">825258000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzYtMS0xLTEtNTYxMzA_61fa50ae-5edb-4658-97c3-f95fb27c361d"
      unitRef="usd">1242340000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yMi9mcmFnOmMxMWZhOWVlMjc0MDRiYzFhNWZlYjE0YmE3ZTkzYzNhL3RhYmxlOmI4OTg3OWY0M2Q4MzQ5MjZiOWY0OTdhMWE4NzMxZDFiL3RhYmxlcmFuZ2U6Yjg5ODc5ZjQzZDgzNDkyNmI5ZjQ5N2ExYTg3MzFkMWJfMzYtMy0xLTEtNTYxMzA_3f6a3d78-f363-4ced-b1c2-9ba254198423"
      unitRef="usd">1214901000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMy0xLTEtMS01NjEzMA_3d8ddbfe-a715-4f25-b094-7a81899a44e9"
      unitRef="usd">15456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMy0zLTEtMS01NjEzMA_813ca575-d19c-4d4d-bc95-1a2546469488"
      unitRef="usd">12762000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNC0xLTEtMS01NjEzMA_bfcd000a-03a8-40f4-a53b-882a0b316f14"
      unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNC0zLTEtMS01NjEzMA_b24340b2-6acb-44cb-a621-019104648d55"
      unitRef="usd">2266000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNS0xLTEtMS01NjEzMA_4e38f750-7ce6-4dec-9b40-ba88e120209c"
      unitRef="usd">15456000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNS0zLTEtMS01NjEzMA_7849ec32-8601-4df0-8be0-27d15f735e59"
      unitRef="usd">10496000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfOC0xLTEtMS01NjEzMA_2d9a8344-6c95-41f9-bc8d-f151d812f127"
      unitRef="usd">6336000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfOC0zLTEtMS01NjEzMA_ceed2708-88c2-429a-b968-13a93bf22a04"
      unitRef="usd">7974000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfOS0xLTEtMS01NjEzMA_0b4d94e4-bb9b-46b7-8e08-6fb4fc65ff0c"
      unitRef="usd">1352000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfOS0zLTEtMS01NjEzMA_d4688e4d-491c-48fc-bc68-9229681106bc"
      unitRef="usd">2368000</us-gaap:ShareBasedCompensation>
    <us-gaap:NoncashProjectAbandonmentCosts
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMTItMS0xLTEtNTYxMzA_8ca88ed9-7703-4287-b8cc-3338aeb24e32"
      unitRef="usd">1198000</us-gaap:NoncashProjectAbandonmentCosts>
    <us-gaap:NoncashProjectAbandonmentCosts
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMTItMy0xLTEtNTYxMzA_53f0c4c3-be09-4348-99af-febdad684dc6"
      unitRef="usd">1193000</us-gaap:NoncashProjectAbandonmentCosts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMTUtMS0xLTEtNTYxMzA_770909ea-4676-4fa9-810e-4eee12f2c3b9"
      unitRef="usd">17000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMTUtMy0xLTEtNTYxMzA_1e2a8914-9ab2-4487-bdf3-635ec8c08a9e"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMTctMS0xLTEtNTYxMzA_c42d83e5-351d-4b5f-9ec2-6fd2c8daaa56"
      unitRef="usd">1395000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMTctMy0xLTEtNTYxMzA_af1747d1-4ffe-4f8f-bced-4631eb6675c4"
      unitRef="usd">-162000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjAtMS0xLTEtNTYxMzA_ffe358da-9d08-4e62-9046-d13dec283c0f"
      unitRef="usd">11101000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjAtMy0xLTEtNTYxMzA_c06c569d-4f60-421d-a173-611352bd079e"
      unitRef="usd">2522000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjEtMS0xLTEtNTYxMzA_fb40e6e3-e53c-49c5-a4d4-5d39caf57b3b"
      unitRef="usd">20937000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjEtMy0xLTEtNTYxMzA_b0bd98e4-2f87-4340-84c0-84fc451993b5"
      unitRef="usd">15262000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjItMS0xLTEtNTYxMzA_f9a66ce5-be13-456c-b7c3-ce1afbcf6f37"
      unitRef="usd">-731000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjItMy0xLTEtNTYxMzA_32c917f3-92e7-4ccd-a282-728de2925029"
      unitRef="usd">435000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjMtMS0xLTEtNTYxMzA_e77917a0-8b7a-4f7e-a8b4-4fed5d20ef73"
      unitRef="usd">-11962000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjMtMy0xLTEtNTYxMzA_4086994c-184b-40ae-b02f-3400be21a4e7"
      unitRef="usd">1470000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjQtMS0xLTEtNTYxMzA_fe67ef6b-eb85-4a04-bed1-c2c46756b259"
      unitRef="usd">9761000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjQtMy0xLTEtNTYxMzA_ea94080a-db10-4a8a-995c-7c31bbf0ac19"
      unitRef="usd">-6334000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjUtMS0xLTEtNTYxMzA_a5327079-34cc-400a-a92a-a0dbcb5312bb"
      unitRef="usd">-7754000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjUtMy0xLTEtNTYxMzA_90093c7a-9ba9-47c5-a2e7-7f897a287508"
      unitRef="usd">-1214000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjYtMS0xLTEtNTYxMzA_e3cb5c63-a8c4-4b83-8dca-e75581dcd088"
      unitRef="usd">0</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjYtMy0xLTEtNTYxMzA_87113563-2129-4082-9135-93b381e16135"
      unitRef="usd">-2011000</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjctMS0xLTEtNTYxMzA_c55517fd-4581-454c-be8c-c32608563e31"
      unitRef="usd">-7754000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjctMy0xLTEtNTYxMzA_33cc986d-4015-492b-97d0-a7d8f1fe394e"
      unitRef="usd">-3225000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjktMS0xLTEtNTYxMzA_1f32da1f-f33c-4daf-823b-85a613eddd24"
      unitRef="usd">4409000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMjktMy0xLTEtNTYxMzA_612c1f2f-84d4-44a8-a809-09841e1c16e7"
      unitRef="usd">4389000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzAtMS0xLTEtNTYxMzA_129b6fe1-2f3b-4f52-9836-e3f7b184307c"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzAtMy0xLTEtNTYxMzA_acc87b33-56bd-4166-b1c8-93a79a87d622"
      unitRef="usd">2000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzEtMS0xLTEtNTYxMzA_9f40efc0-bc76-42e1-af45-5ed64947a0c0"
      unitRef="usd">0</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzEtMy0xLTEtNTYxMzA_43faef84-4634-4b89-9550-2cc8d02c48fa"
      unitRef="usd">26991000</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzMtMS0xLTEtNTYxMzA_d88d485f-5b87-42bc-8c6c-dfa58fe170a5"
      unitRef="usd">7000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzMtMy0xLTEtNTYxMzA_3432a1f6-d52c-439c-ac82-4bfefe0d65e4"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzQtMS0xLTEtNTYxMzA_1e9fd2da-3e92-4130-933d-000567d9d95d"
      unitRef="usd">-4402000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzQtMy0xLTEtNTYxMzA_037fa190-3fff-4f35-94e3-5a7d85675e26"
      unitRef="usd">22600000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
    <us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzUtMS0xLTEtNTYxMzA_6dd43397-13f7-450d-b546-1b642739309a"
      unitRef="usd">0</us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzUtMy0xLTEtNTYxMzA_b40f0338-ccc3-4a59-af52-dc11bd3c5d10"
      unitRef="usd">-176000</us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzYtMS0xLTEtNTYxMzA_12036809-0d7f-45fa-b3e7-091fae40e19d"
      unitRef="usd">-4402000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzYtMy0xLTEtNTYxMzA_68304bcc-3920-4311-b0f2-e2adf8a1b81a"
      unitRef="usd">22424000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzgtMS0xLTEtNTYxMzA_78aeacd9-d111-4707-b950-322b4794381c"
      unitRef="usd">47500000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzgtMy0xLTEtNTYxMzA_a35ceca2-e4b5-41cc-8bf5-2bd8120b7751"
      unitRef="usd">20000000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzktMS0xLTEtNTYxMzA_ec02cf0d-e6f5-4eeb-86d2-fe78eda23604"
      unitRef="usd">29000000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfMzktMy0xLTEtNTYxMzA_c7fdb44e-de28-4003-a90d-c6e288b9fa01"
      unitRef="usd">46636000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDItMS0xLTEtNTYxMzA_e6fb8f74-09af-4694-88a7-5bb033f5345a"
      unitRef="usd">3461000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDItMy0xLTEtNTYxMzA_3aad59e1-99da-4194-8710-7a5b3df61b05"
      unitRef="usd">4662000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDMtMS0xLTEtNTYxMzA_3301085b-de26-4202-8440-47396e19e9c3"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDMtMy0xLTEtNTYxMzA_0198f5a8-b581-4f19-bde9-e7156dab002e"
      unitRef="usd">910000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDUtMS0xLTEtNTYxMzA_4be03f8a-eb4e-47ae-953b-c1cf8be18aa2"
      unitRef="usd">15039000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDUtMy0xLTEtNTYxMzA_ecde0716-1444-493d-87d5-742fbd41ac50"
      unitRef="usd">-30388000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDYtMS0xLTEtNTYxMzA_f7f017a6-3a08-4b57-a849-4d5d51b9a6ce"
      unitRef="usd">-159000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDYtMy0xLTEtNTYxMzA_48c91b71-2d98-43b0-954f-aca9c16f442c"
      unitRef="usd">-134000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDctMS0xLTEtNTYxMzA_0b11d587-e8ae-4d47-ad7b-7d9e86186ca2"
      unitRef="usd">2724000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDctMy0xLTEtNTYxMzA_3b6fe827-234c-4b6f-96a8-fdb39309d1fe"
      unitRef="usd">-11323000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDgtMS0xLTEtNTYxMzA_d3a7dda8-39ad-4769-926f-30e69dbeb7cb"
      unitRef="usd">12849000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i46ce18a26d8e4143b9eb5e2b8bb03937_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDgtMy0xLTEtNTYxMzA_a09723ea-b44a-42f1-9580-8eaaf1bf923d"
      unitRef="usd">32054000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDktMS0xLTEtNTYxMzA_3521a828-a79e-426c-8c02-2d943f8d839f"
      unitRef="usd">15573000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ifbb73430dafd4a80ae620049292c3337_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8yOC9mcmFnOjZmNzllM2YyYzMzODQ4MWZiYTA1ZWJiMzI3ODIxMzAzL3RhYmxlOjU3OWQwZTE2MTE5ODRlNDhhNzI4NDc1Nzk2MjlkOGVhL3RhYmxlcmFuZ2U6NTc5ZDBlMTYxMTk4NGU0OGE3Mjg0NzU3OTYyOWQ4ZWFfNDktMy0xLTEtNTYxMzA_c7c8cccb-1736-4fa7-9446-e47c40964b01"
      unitRef="usd">20731000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SharesIssued
      contextRef="ifb8bec9524c34aa6ba24d01de47ab115_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi0xLTEtMS01NjEzMA_0f5ae5eb-43c3-4852-a3d4-582d604bb920"
      unitRef="shares">33799000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ifb8bec9524c34aa6ba24d01de47ab115_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi0zLTEtMS01NjEzMA_a67fccc3-853c-44fd-87e1-a75be4b1a651"
      unitRef="usd">338000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i84440a1b489243a3bd34ab8ce1cac05a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi01LTEtMS01NjEzMA_19106473-cd98-4ea7-a4c3-7c692c35882e"
      unitRef="usd">314541000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i71d24be88af6425b82701a348f843e7e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi03LTEtMS01NjEzMA_1d89083b-8b96-4101-ba14-e97cbdac9de8"
      unitRef="usd">545572000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4df16d2540eb45b2bd05b2804d02da36_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi05LTEtMS01NjEzMA_687d331f-e8cb-494a-8b5a-6f8e1a227bf8"
      unitRef="usd">187000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i2b890bbfc252413a902afedb306f5d06_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi0xMS0xLTEtNTYxMzA_3cafdb91-ec5c-4b47-bfad-7d70a3578669"
      unitRef="shares">1107000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i2b890bbfc252413a902afedb306f5d06_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi0xMy0xLTEtNTYxMzA_970d8dbf-2f79-4948-b0fb-dfc464f3666a"
      unitRef="usd">-35380000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMi0xNS0xLTEtNTYxMzA_90eaeba2-23e6-4232-8362-de3eeefdd4f0"
      unitRef="usd">825258000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="if9bcbda541924c48b7e4e6b65e8a6a06_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMy03LTEtMS01NjEzMA_c6a9f863-d61a-4d05-862d-ad3d14170d7b"
      unitRef="usd">15456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMy0xNS0xLTEtNTYxMzA_6e36d816-d99f-44b9-8938-c15496dde6ae"
      unitRef="usd">15456000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i903c70924cbb4b61a666ad298a72b297_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfNC05LTEtMS01NjEzMA_9450eea2-cd23-40ee-9b26-e1ea41318761"
      unitRef="usd">-227000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfNC0xNS0xLTEtNTYxMzA_89c32443-6af7-4518-8e58-9dacc6796afa"
      unitRef="usd">-227000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <rock:OtherComprehensiveIncomeMinimumPostRetirementBenefitPlanNetAdjustmentTax1
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfNS0wLTEtMS01NjEzMC90ZXh0cmVnaW9uOmE2YjIzMDFjZjFhOTRmYjZhNjdkMDMwZTcyYjgwZTI2XzMyOTg1MzQ4ODM0MDQ_5bf32745-0611-4139-886a-6055243e8cbf"
      unitRef="usd">10000</rock:OtherComprehensiveIncomeMinimumPostRetirementBenefitPlanNetAdjustmentTax1>
    <rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1
      contextRef="i903c70924cbb4b61a666ad298a72b297_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfNS05LTEtMS01NjEzMA_68216a76-db06-46d4-997e-d835e5ff53b9"
      unitRef="usd">-24000</rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1>
    <rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfNS0xNS0xLTEtNTYxMzA_5467e253-cc95-4357-ab5f-b96add79cd57"
      unitRef="usd">-24000</rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4d517a8960e74abdad7e5c931529dc10_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfNi01LTEtMS01NjEzMA_cf195317-b1b3-4486-8602-6c9ce6fd5c2d"
      unitRef="usd">1352000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfNi0xNS0xLTEtNTYxMzA_c75b74e1-394e-42d1-b938-2235a4e1503a"
      unitRef="usd">1352000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="i0eff11bcbaa9456f860dda699d5adfe8_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTAtMS0xLTEtNTYxMzA_56ef7337-42b3-41f9-8b8a-23b399f44668"
      unitRef="shares">173000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i0eff11bcbaa9456f860dda699d5adfe8_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTAtMy0xLTEtNTYxMzA_e16fa98d-e6b6-4b44-a63b-2aecf92e1c07"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i4d517a8960e74abdad7e5c931529dc10_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTAtNS0xLTEtNTYxMzA_0cf9c677-b177-46f9-b67a-b9d706bd61f1"
      unitRef="usd">-2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="i637f4cd2d1014b4fb0ab6e91c0eec105_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTAtMTEtMS0xLTU2MTMw_3d61dce9-5045-4aa6-8741-d4d58710deef"
      unitRef="shares">72000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i637f4cd2d1014b4fb0ab6e91c0eec105_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTAtMTMtMS0xLTU2MTMw_e949b88b-8a0b-427a-a2ad-8794fb163437"
      unitRef="usd">-3461000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTAtMTUtMS0xLTU2MTMw_ef3d98e4-15d5-4f27-b6ec-59efeca88266"
      unitRef="usd">-3461000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:SharesIssued
      contextRef="iba34e36209fe4e1c9e95f1e07e9decdc_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtMS0xLTEtNTYxMzA_f5dc57a1-a1e1-4a29-b4a4-5293bafb21de"
      unitRef="shares">33972000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="iba34e36209fe4e1c9e95f1e07e9decdc_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtMy0xLTEtNTYxMzA_af8952e8-fcab-4f7e-b438-454cb8612058"
      unitRef="usd">340000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6f7c975faab64d3c93c761fc0f4264da_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtNS0xLTEtNTYxMzA_55233890-f76f-46bf-a691-20cdddee9085"
      unitRef="usd">315891000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i789e66a4373741eaa93389c5a8a1d09a_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtNy0xLTEtNTYxMzA_8c332f7f-1418-4c74-9d53-06092da3f01e"
      unitRef="usd">561028000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i034532693a7d4250ba8c37c4465102d8_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtOS0xLTEtNTYxMzA_f34848a2-625b-4117-b97d-0762e3959272"
      unitRef="usd">-16000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i9c21d38c0d814826a655012c07f1a1a7_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtMTEtMS0xLTU2MTMw_8bdf3a7c-9f4f-48fe-bcbb-f7c20bf8382f"
      unitRef="shares">1179000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i9c21d38c0d814826a655012c07f1a1a7_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtMTMtMS0xLTU2MTMw_16987917-e841-4ab4-89af-0bb6368dc3a6"
      unitRef="usd">-38841000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjAxMWUxNzc2MDg2ZTQ5NzViYWE1ZTFiMDcxZDBjNmMxL3RhYmxlcmFuZ2U6MDExZTE3NzYwODZlNDk3NWJhYTVlMWIwNzFkMGM2YzFfMTEtMTUtMS0xLTU2MTMw_439f8069-76be-4130-a872-5231475ce37a"
      unitRef="usd">838402000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="ib5268a46ef6747b2b7ef3330d54e23c0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi0xLTEtMS01NjEzMA_efc7b74f-6181-4d52-8aef-a72b5b784bdb"
      unitRef="shares">33568000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ib5268a46ef6747b2b7ef3330d54e23c0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi0zLTEtMS01NjEzMA_b97b57c2-220a-4137-a127-519b09d81dcb"
      unitRef="usd">336000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ieb66d0108ac1426b801f4c0d4839ec5a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi01LTEtMS01NjEzMA_351b6210-1d29-4e5d-a6ca-9201c224b4e7"
      unitRef="usd">304870000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib53810bd1a574948b8fc784e098eb07d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi03LTEtMS01NjEzMA_80e82cad-17a8-414c-8736-1882ff5d65da"
      unitRef="usd">469943000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ida6e55c8171b470bbca14b924c1d09d8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi05LTEtMS01NjEzMA_3860c5bc-577d-4068-8752-4f1ec7837de1"
      unitRef="usd">-2461000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="idf32096b939841c2b14ad3d701ce383a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi0xMS0xLTEtNTYxMzA_c85cb084-d379-44ea-a32c-b69af092a733"
      unitRef="shares">1028000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="idf32096b939841c2b14ad3d701ce383a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi0xMy0xLTEtNTYxMzA_cca1610c-ad24-400a-97e6-403a63548adf"
      unitRef="usd">-28883000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i46ce18a26d8e4143b9eb5e2b8bb03937_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMi0xNS0xLTEtNTYxMzA_da68d451-7462-4a0b-9674-137ec8dc4a4e"
      unitRef="usd">743805000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ibf5245b89af84314ab540f6a15676daa_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMy03LTEtMS01NjEzMA_592a1d2a-87f6-407f-a090-738ec8b01cd5"
      unitRef="usd">12762000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMy0xNS0xLTEtNTYxMzA_bae85be4-ef8f-4198-80b7-4b2ebe78352b"
      unitRef="usd">12762000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i965731a18feb41639b5d1343dd5edec5_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfNC05LTEtMS01NjEzMA_cc9e3043-3e32-4e13-bf4e-6dce8daa9e3f"
      unitRef="usd">3198000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfNC0xNS0xLTEtNTYxMzA_ff47ecec-7b91-459d-8d3b-542ba7d6a86d"
      unitRef="usd">3198000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <rock:OtherComprehensiveIncomeMinimumPostRetirementBenefitPlanNetAdjustmentTax1
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfNS0wLTEtMS01NjEzMC90ZXh0cmVnaW9uOjZmMDc5MGM5YWFlYTRjNTNhZGMyODU0NmJmMDZiN2Y0XzMyOTg1MzQ4ODM0MDQ_390c2aa3-ba00-4010-a922-23ebc7e8ea8e"
      unitRef="usd">10000</rock:OtherComprehensiveIncomeMinimumPostRetirementBenefitPlanNetAdjustmentTax1>
    <rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1
      contextRef="i965731a18feb41639b5d1343dd5edec5_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfNS05LTEtMS01NjEzMA_77b34977-b997-4f73-be66-148a97f344d6"
      unitRef="usd">-27000</rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1>
    <rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfNS0xNS0xLTEtNTYxMzA_9bec1332-044e-4920-988b-9b70c5d1cf16"
      unitRef="usd">-27000</rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i2e95233b53d64c1a98ef1c593e9c87d2_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfNy01LTEtMS01NjEzMA_c75416af-3f49-4e5f-95c1-69afe882a80b"
      unitRef="usd">2368000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfNy0xNS0xLTEtNTYxMzA_ee8c24fd-e0c4-4356-9b6f-fb6a3217441a"
      unitRef="usd">2368000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i059143915e0e4a989869629d0b49ba34_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfOS0xLTEtMS01NjEzMA_e5ba48b5-4268-4bbf-a2a4-17c78b583eb2"
      unitRef="shares">25000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i2e95233b53d64c1a98ef1c593e9c87d2_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfOS01LTEtMS01NjEzMA_14e9b8df-64bc-4ccf-b290-0824d4e878cf"
      unitRef="usd">910000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfOS0xNS0xLTEtNTYxMzA_21778015-d1cb-415c-bf47-84bf2b786d5e"
      unitRef="usd">910000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="i059143915e0e4a989869629d0b49ba34_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTEtMS0xLTEtNTYxMzA_fd8c0fa8-be1e-4d63-b6be-aedaefe215cc"
      unitRef="shares">118000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i059143915e0e4a989869629d0b49ba34_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTEtMy0xLTEtNTYxMzA_ccb49cd8-411b-4873-9d38-5e0dd6e35586"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i2e95233b53d64c1a98ef1c593e9c87d2_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTEtNS0xLTEtNTYxMzA_01c7da3f-7940-4146-805a-29ebae932839"
      unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="icb51eb61025f493a949c962620241bbf_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTEtMTEtMS0xLTU2MTMw_9357d643-4ec3-48fc-b963-c4dc7253f1fc"
      unitRef="shares">54000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="icb51eb61025f493a949c962620241bbf_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTEtMTMtMS0xLTU2MTMw_5787e27c-6f12-4d01-8bbb-62d0848656bb"
      unitRef="usd">-4662000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTEtMTUtMS0xLTU2MTMw_4c967b41-f597-4f31-8158-f162fcb75890"
      unitRef="usd">-4662000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:SharesIssued
      contextRef="i3b426b7d4b134b56bedb29867ed3024f_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtMS0xLTEtNTYxMzA_faf71dfb-db19-4acb-9c3d-ab580219bea4"
      unitRef="shares">33711000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i3b426b7d4b134b56bedb29867ed3024f_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtMy0xLTEtNTYxMzA_6ccf158b-81f1-41f6-85c3-d022737db19b"
      unitRef="usd">337000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i83158e37cbf641e09849d5b6b22a2436_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtNS0xLTEtNTYxMzA_0ba93218-c950-42f4-a292-354d541aa5f8"
      unitRef="usd">308147000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i844f527a0fe54334ad4de15d39f39964_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtNy0xLTEtNTYxMzA_af81b879-d6b1-401e-b9d8-2ebe37d60307"
      unitRef="usd">482705000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ide624d04497349f69dffc3f83bcbea16_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtOS0xLTEtNTYxMzA_0955f4b8-aab9-48f5-90e7-7ac060caf421"
      unitRef="usd">764000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i952dcbdd8b4d46f28fcda0280862ede1_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtMTEtMS0xLTU2MTMw_802c6f3b-fa88-4f3e-a038-f66e0b2dabbe"
      unitRef="shares">1082000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i952dcbdd8b4d46f28fcda0280862ede1_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtMTMtMS0xLTU2MTMw_99b5f5f1-0c9b-4351-8d0d-7ba1a3a4feb7"
      unitRef="usd">-33545000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifbb73430dafd4a80ae620049292c3337_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8zMS9mcmFnOjNmMjllMzk4OTE2NTQwOTQ5MjkxNTQ4OTcxNjI5NjhlL3RhYmxlOjA2NDJhMjEyYjJlNTQ3ZGE5NTFkNGNlMzUxMDk1ODBjL3RhYmxlcmFuZ2U6MDY0MmEyMTJiMmU1NDdkYTk1MWQ0Y2UzNTEwOTU4MGNfMTMtMTUtMS0xLTU2MTMw_461d8789-4d40-4ccb-93d7-5b41bd5265e7"
      unitRef="usd">758408000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80MC9mcmFnOjg5Y2FiM2NiZTI2NTQwN2Y4Y2JjZTEyZGNjYjhhYzJjL3RleHRyZWdpb246ODljYWIzY2JlMjY1NDA3ZjhjYmNlMTJkY2NiOGFjMmNfMTI2Nw_c7772a14-ac96-4876-9900-1440f982a0a0">CONSOLIDATED FINANCIAL STATEMENTS&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited consolidated financial statements of Gibraltar Industries, Inc. (the "Company") have been prepared by management in accordance with U.S. generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments consisting of normal recurring adjustments considered necessary for the fair presentation of results for the interim period have been included. The Company's operations are seasonal; for this and other reasons, such as the impact of the COVID-19 pandemic, financial results for any interim period are not necessarily indicative of the results expected for any subsequent interim period or for the full year. The accompanying unaudited consolidated financial statements should be read in conjunction with the financial statements and notes thereto included in our annual report on Form 10-K for the year ended December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The balance sheet at&#160;December&#160;31, 2021&#160;has been derived from the audited financial statements at that date, but does not include all of the information and footnotes required by U.S. generally accepted accounting principles for complete financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80My9mcmFnOmY5Y2RiM2MzZGM4NzQ4OTU5OGQxNWQ3ZWJjZTMzZWM2L3RleHRyZWdpb246ZjljZGIzYzNkYzg3NDg5NTk4ZDE1ZDdlYmNlMzNlYzZfOTM_dd634812-c187-4250-8c47-313a4d640b32">RECENT ACCOUNTING PRONOUNCEMENTS&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Statement Effect or Other Significant Matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;ASU No. 2020-04&lt;br/&gt;Reference Rate Reform (Topic 848), Facilitation of Effects of Reference Rate Reform on Financial Reporting, and&lt;br/&gt;ASU No. 2021-01 Reference Rate Reform (Topic 848), Scope&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in ASU 2020-04 provide optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met, and apply only to contracts, hedging relationships, and other transactions that reference the London Interbank Offered Rate ("LIBOR") or another reference rate expected to be discontinued as a result of reference rate reform. The expedients and exceptions provided by the amendments in ASU 2020-04 do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022. The amendments in ASU 2021-01 clarify that certain optional expedients and exceptions in Topic 848 for contract modifications and hedge accounting apply to derivatives that are affected by the discounting transition.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in these updates are effective as of March 12, 2020 through December 31, 2022, and may be applied retrospectively to contract modifications and hedging relationships from the beginning of an interim period that includes or is subsequent to March 12, 2020, or on a prospective basis to new modifications from any date within an interim period that includes or is subsequent to the date of the issuance of a final update, up to the date the financial statements are available to be issued. The adoption of the amendments in these updates is not expected to have a material impact on the Company's financial statements.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80My9mcmFnOmY5Y2RiM2MzZGM4NzQ4OTU5OGQxNWQ3ZWJjZTMzZWM2L3RleHRyZWdpb246ZjljZGIzYzNkYzg3NDg5NTk4ZDE1ZDdlYmNlMzNlYzZfOTQ_3859992b-7d00-4858-8647-d6b132025c78">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Statement Effect or Other Significant Matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;ASU No. 2020-04&lt;br/&gt;Reference Rate Reform (Topic 848), Facilitation of Effects of Reference Rate Reform on Financial Reporting, and&lt;br/&gt;ASU No. 2021-01 Reference Rate Reform (Topic 848), Scope&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in ASU 2020-04 provide optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met, and apply only to contracts, hedging relationships, and other transactions that reference the London Interbank Offered Rate ("LIBOR") or another reference rate expected to be discontinued as a result of reference rate reform. The expedients and exceptions provided by the amendments in ASU 2020-04 do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022. The amendments in ASU 2021-01 clarify that certain optional expedients and exceptions in Topic 848 for contract modifications and hedge accounting apply to derivatives that are affected by the discounting transition.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in these updates are effective as of March 12, 2020 through December 31, 2022, and may be applied retrospectively to contract modifications and hedging relationships from the beginning of an interim period that includes or is subsequent to March 12, 2020, or on a prospective basis to new modifications from any date within an interim period that includes or is subsequent to the date of the issuance of a final update, up to the date the financial statements are available to be issued. The adoption of the amendments in these updates is not expected to have a material impact on the Company's financial statements.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80My9mcmFnOmY5Y2RiM2MzZGM4NzQ4OTU5OGQxNWQ3ZWJjZTMzZWM2L3RleHRyZWdpb246ZjljZGIzYzNkYzg3NDg5NTk4ZDE1ZDdlYmNlMzNlYzZfOTU_c46b8300-3fb8-4252-81f6-f4520987b3d4">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Statement Effect or Other Significant Matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;ASU No. 2020-04&lt;br/&gt;Reference Rate Reform (Topic 848), Facilitation of Effects of Reference Rate Reform on Financial Reporting, and&lt;br/&gt;ASU No. 2021-01 Reference Rate Reform (Topic 848), Scope&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in ASU 2020-04 provide optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met, and apply only to contracts, hedging relationships, and other transactions that reference the London Interbank Offered Rate ("LIBOR") or another reference rate expected to be discontinued as a result of reference rate reform. The expedients and exceptions provided by the amendments in ASU 2020-04 do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2022. The amendments in ASU 2021-01 clarify that certain optional expedients and exceptions in Topic 848 for contract modifications and hedge accounting apply to derivatives that are affected by the discounting transition.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in these updates are effective as of March 12, 2020 through December 31, 2022, and may be applied retrospectively to contract modifications and hedging relationships from the beginning of an interim period that includes or is subsequent to March 12, 2020, or on a prospective basis to new modifications from any date within an interim period that includes or is subsequent to the date of the issuance of a final update, up to the date the financial statements are available to be issued. The adoption of the amendments in these updates is not expected to have a material impact on the Company's financial statements.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RleHRyZWdpb246MWQyOTlmMmZiNjJiNGUwNzkyOTRlOWEzZWY4YjhhMDFfNDc2_8248b5fe-c87c-49d1-a7d8-a802d6b4cd72">ACCOUNTS RECEIVABLE, NET&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.938%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;185,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs in excess of billings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accounts receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;250,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less allowance for doubtful accounts and contract assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,433)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,738)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note 4 "Revenue" concerning the Company's costs in excess of billings.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a roll-forward of the allowance for credit losses, for the three month period ended March 31, 2022, that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Bad debt expense, net of recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts written off against allowance and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(170)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance as of March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RleHRyZWdpb246MWQyOTlmMmZiNjJiNGUwNzkyOTRlOWEzZWY4YjhhMDFfNDY5_412e8c2d-c10f-4716-9914-4a6162d570bd">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.938%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;185,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs in excess of billings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accounts receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;250,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less allowance for doubtful accounts and contract assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,433)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,738)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a roll-forward of the allowance for credit losses, for the three month period ended March 31, 2022, that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Bad debt expense, net of recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts written off against allowance and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(170)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance as of March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfMS0xLTEtMS01NjEzMA_c4af906e-2255-490e-a0ae-68db6989745f"
      unitRef="usd">203860000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfMS0zLTEtMS01NjEzMA_cc79c566-b16a-44aa-907e-fdf50ad9315a"
      unitRef="usd">185745000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfMi0xLTEtMS01NjEzMA_eeaa5a49-a8d6-4009-96d6-628fa641a810"
      unitRef="usd">46380000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfMi0zLTEtMS01NjEzMA_ffb9504e-58fa-4cf1-bd94-461786aeece0"
      unitRef="usd">54437000</us-gaap:UnbilledContractsReceivable>
    <rock:ContractsReceivableGrossCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfMy0xLTEtMS01NjEzMA_5187f67b-9de8-4bd4-879b-0821e5184959"
      unitRef="usd">250240000</rock:ContractsReceivableGrossCurrent>
    <rock:ContractsReceivableGrossCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfMy0zLTEtMS01NjEzMA_7b377908-07b2-4268-9c86-2a069a4456e7"
      unitRef="usd">240182000</rock:ContractsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfNC0xLTEtMS01NjEzMA_2ea4c451-8ca0-44e7-a42f-9a523a65e783"
      unitRef="usd">4433000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfNC0zLTEtMS01NjEzMA_63f4b5d2-9cf7-46ad-aa30-7e8377241a9c"
      unitRef="usd">3738000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfNS0xLTEtMS01NjEzMA_c559f24e-4756-4d4d-a709-b4f497db42ce"
      unitRef="usd">245807000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOmFiYWUyYzA5MDdiYjQ3NjU4NWM2MmI1NjY4NzcyOTRmL3RhYmxlcmFuZ2U6YWJhZTJjMDkwN2JiNDc2NTg1YzYyYjU2Njg3NzI5NGZfNS0zLTEtMS01NjEzMA_f3520f37-6b08-4aac-b9e1-598ce200583d"
      unitRef="usd">236444000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOjBmNmYzZDFlMzlkMzQ3OTI5NmY0NWM1NDFkNTEwNmVmL3RhYmxlcmFuZ2U6MGY2ZjNkMWUzOWQzNDc5Mjk2ZjQ1YzU0MWQ1MTA2ZWZfMC0xLTEtMS01NjEzMA_7c7ceaa6-0ab1-4fbf-8019-77ff6e61a655"
      unitRef="usd">3738000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOjBmNmYzZDFlMzlkMzQ3OTI5NmY0NWM1NDFkNTEwNmVmL3RhYmxlcmFuZ2U6MGY2ZjNkMWUzOWQzNDc5Mjk2ZjQ1YzU0MWQ1MTA2ZWZfMi0xLTEtMS01NjEzMA_1bd99ae9-3a69-438d-be7e-d02f1636c18e"
      unitRef="usd">865000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOjBmNmYzZDFlMzlkMzQ3OTI5NmY0NWM1NDFkNTEwNmVmL3RhYmxlcmFuZ2U6MGY2ZjNkMWUzOWQzNDc5Mjk2ZjQ1YzU0MWQ1MTA2ZWZfMy0xLTEtMS01NjEzMA_5a1ddae7-3a4b-439f-90b8-ef8ec117120b"
      unitRef="usd">170000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl80OS9mcmFnOjFkMjk5ZjJmYjYyYjRlMDc5Mjk0ZTlhM2VmOGI4YTAxL3RhYmxlOjBmNmYzZDFlMzlkMzQ3OTI5NmY0NWM1NDFkNTEwNmVmL3RhYmxlcmFuZ2U6MGY2ZjNkMWUzOWQzNDc5Mjk2ZjQ1YzU0MWQ1MTA2ZWZfNC0xLTEtMS01NjEzMA_f3d28d23-71b4-4c87-bb62-c27773a4e5af"
      unitRef="usd">4433000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81Mi9mcmFnOjU5NWU3MzM3MGJiZDRlZWVhMTlkMDRhOTAyNDhlZmNjL3RleHRyZWdpb246NTk1ZTczMzcwYmJkNGVlZWExOWQwNGE5MDI0OGVmY2NfMTQ4NQ_50d1f734-c46e-42a2-98a3-2f32b3ac14e5">REVENUE&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales includes revenue from contracts with customers for designing, engineering, manufacturing and installation of solar racking systems; electrical balance of systems; roof and foundation ventilation products; centralized mail systems and electronic package solutions; retractable awnings; gutter guards; rain dispersion products; trims and flashings and other accessories; designing, engineering, manufacturing and installation of greenhouses; botanical extraction systems; structural bearings; expansion joints; pavement sealant; elastomeric concrete; and bridge cable protection systems.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note 14 "Segment Information" for additional information related to revenue recognized by timing of transfer of control by reportable segment.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2022, the Company's remaining performance obligations are part of contracts that have an original expected duration of one year or less. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets consist of costs in excess of billings presented within accounts receivable in the Company's consolidated balance sheets.  Contract liabilities consist of billings in excess of cost, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  Unearned revenue as of March&#160;31, 2022 and December 31, 2021 was $2.4&#160;million and $3.7&#160;million, respectively.  Revenue recognized during the three months ended March&#160;31, 2022 and 2021 that was in contract liabilities at the beginning of the respective periods was $27.4&#160;million and $40.7&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i8bdbea0419f849c88d05df38ad373104_I20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81Mi9mcmFnOjU5NWU3MzM3MGJiZDRlZWVhMTlkMDRhOTAyNDhlZmNjL3RleHRyZWdpb246NTk1ZTczMzcwYmJkNGVlZWExOWQwNGE5MDI0OGVmY2NfODg5_b35fe3d4-f0ea-4d50-9200-947e586c602b">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81Mi9mcmFnOjU5NWU3MzM3MGJiZDRlZWVhMTlkMDRhOTAyNDhlZmNjL3RleHRyZWdpb246NTk1ZTczMzcwYmJkNGVlZWExOWQwNGE5MDI0OGVmY2NfMTI5Mw_4fb97b02-947f-4833-b475-e40605f42201"
      unitRef="usd">2400000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81Mi9mcmFnOjU5NWU3MzM3MGJiZDRlZWVhMTlkMDRhOTAyNDhlZmNjL3RleHRyZWdpb246NTk1ZTczMzcwYmJkNGVlZWExOWQwNGE5MDI0OGVmY2NfMTMwMA_29fa8f0f-f2f6-4d80-bfe1-63d14fc4c7ce"
      unitRef="usd">3700000</us-gaap:ContractWithCustomerLiability>
    <rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81Mi9mcmFnOjU5NWU3MzM3MGJiZDRlZWVhMTlkMDRhOTAyNDhlZmNjL3RleHRyZWdpb246NTk1ZTczMzcwYmJkNGVlZWExOWQwNGE5MDI0OGVmY2NfMTQ1OQ_fd22f355-5f6f-4a1a-b280-a601ce8a3c9a"
      unitRef="usd">27400000</rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81Mi9mcmFnOjU5NWU3MzM3MGJiZDRlZWVhMTlkMDRhOTAyNDhlZmNjL3RleHRyZWdpb246NTk1ZTczMzcwYmJkNGVlZWExOWQwNGE5MDI0OGVmY2NfMTQ2Ng_871c5289-1e77-49c1-a64c-d66abdd0b899"
      unitRef="usd">40700000</rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RleHRyZWdpb246MjFkM2I4ZGJlN2Q0NGFkM2JiZTBjOTA4NTQyOWVhZjVfNzc_19b19d1f-00e8-4f88-86b9-859517bc6ae4">INVENTORIES&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.465%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.251%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.252%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw material&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,465)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RleHRyZWdpb246MjFkM2I4ZGJlN2Q0NGFkM2JiZTBjOTA4NTQyOWVhZjVfODY_686cb5e5-b194-4255-96db-0a95527281d0">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.465%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.251%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.252%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw material&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,465)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfMS0xLTEtMS01NjEzMA_5f2c67b6-c3f3-43d4-902f-9088bb6b2da0"
      unitRef="usd">139449000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfMS0zLTEtMS01NjEzMA_35a0d6ba-8af1-4dcd-a178-ff4724de858b"
      unitRef="usd">135558000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfMi0xLTEtMS01NjEzMA_643f543a-7eeb-403b-b5fb-1233b488f080"
      unitRef="usd">7187000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfMi0zLTEtMS01NjEzMA_d6a0a9c4-65a0-4f3e-825f-dc81314f883a"
      unitRef="usd">5858000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfMy0xLTEtMS01NjEzMA_7deb040c-d32a-4501-a8b8-ddaf1d3fbe7e"
      unitRef="usd">46897000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfMy0zLTEtMS01NjEzMA_7ce10eae-7993-4720-90da-a882eab95e92"
      unitRef="usd">39256000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfNC0xLTEtMS01NjEzMA_6baee14d-c82b-4b06-98ce-96318db2c7cc"
      unitRef="usd">193533000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfNC0zLTEtMS01NjEzMA_f7751e92-11db-4c34-82d2-06cf82d933e5"
      unitRef="usd">180672000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfNS0xLTEtMS01NjEzMA_84a9f3f0-5570-43c0-9d15-9bccecf61dc1"
      unitRef="usd">6278000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfNS0zLTEtMS01NjEzMA_36125089-7d16-4c4a-9db0-3aa08530a406"
      unitRef="usd">4465000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfNi0xLTEtMS01NjEzMA_8ef7b01d-8927-482e-b477-6772c66c2f52"
      unitRef="usd">187255000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl81NS9mcmFnOjIxZDNiOGRiZTdkNDRhZDNiYmUwYzkwODU0MjllYWY1L3RhYmxlOjhiOWY4YTA0Mjc4YTQ2ZWE4OWViOGQyNTBjMjliOGIyL3RhYmxlcmFuZ2U6OGI5ZjhhMDQyNzhhNDZlYTg5ZWI4ZDI1MGMyOWI4YjJfNi0zLTEtMS01NjEzMA_b215822e-325f-4080-9b53-84180635383f"
      unitRef="usd">176207000</us-gaap:InventoryNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RleHRyZWdpb246NmRmOWFjODZhZDYyNGE1NmJlM2E5ZjRjYWRhNTBlNzNfODIz_3d37c054-0d1f-4dfd-a2b9-9508380e97a3">GOODWILL AND RELATED INTANGIBLE ASSETS&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill for the three months ended March&#160;31, 2022 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.664%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.282%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.697%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(707)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(402)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is required to regularly assess whether a triggering event has occurred which would require interim impairment testing. The Company determined that a triggering event has not occurred as of March 31, 2022 which would require an interim impairment test to be performed.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Acquired Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.888%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unpatented technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;206,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the acquired intangible asset amortization expense for the three months ended March 31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.297%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense related to acquired intangible assets for the remainder of fiscal 2022 and the next five years thereafter is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.197%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RleHRyZWdpb246NmRmOWFjODZhZDYyNGE1NmJlM2E5ZjRjYWRhNTBlNzNfODIw_95bd92bb-e4aa-4fe1-a6ad-e2d3e2fffd27">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill for the three months ended March&#160;31, 2022 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.664%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.282%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.697%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(707)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(402)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i1bd0a5098749410d9fd2ae40d131b2ca_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfMS0xLTEtMS01NjEzMA_8c6c2918-d35f-4960-816a-9145996372c4"
      unitRef="usd">188680000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ia6e64889b81a4922b44b962d644d5b0d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfMS0zLTEtMS01NjEzMA_53a55555-9e62-4130-906a-e9d5a72fbbf3"
      unitRef="usd">205452000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i568389394f7f46209bf58ac5471e2654_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfMS01LTEtMS01NjEzMA_5821186f-f2fc-406b-bed0-61fd388d17ad"
      unitRef="usd">85132000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ieae525afccd94db882b64588c7570c2d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfMS03LTEtMS01NjEzMA_760434c5-b59b-4164-a927-0c473a074d56"
      unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfMS05LTEtMS01NjEzMA_c1d1d363-746b-46d3-87c1-a57c622de44c"
      unitRef="usd">510942000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i772d732ea72a4b208bcd510f4a4bb0c2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNC0xLTEtMS01NjEzMA_ae0c4fee-6388-4703-bae5-60b8fb6fd586"
      unitRef="usd">-707000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i8f0190aaaa05403294a7b27a6ebfb08d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNC0zLTEtMS01NjEzMA_da1e1a28-6795-4cb9-b1a8-73d824840856"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ia4624d2c98c044a18ba80ccee868d10d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNC01LTEtMS01NjEzMA_bf7948ab-f573-4ef7-bc54-1dc9f0a6b10e"
      unitRef="usd">305000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i4d905a570caa4cc0a3907146dd2213a3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNC03LTEtMS01NjEzMA_89905d5b-f6f7-4eff-a3ae-b47d573c526d"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNC05LTEtMS01NjEzMA_8bf07f43-46ea-4b36-a821-653119da0a4b"
      unitRef="usd">-402000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i55e9ce3dc888446d81898c8153aee17f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNS0xLTEtMS01NjEzMA_9889886d-3f58-4172-90c8-83a27bf12ab6"
      unitRef="usd">187973000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i84d053ef2ace4b66b6504de191018d33_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNS0zLTEtMS01NjEzMA_6406f055-e5af-490a-8bc9-94ad32371501"
      unitRef="usd">205452000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i1d8d2507b9314a83a16c3a2f6e6f3468_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNS01LTEtMS01NjEzMA_d59b58d7-a710-498e-bbe1-6e95e951b89f"
      unitRef="usd">85437000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8c4c54869e9c482a89c70982cf01d6f9_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNS03LTEtMS01NjEzMA_ee6412e5-f004-4711-bd07-502db1e9c3c1"
      unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjhkZTYxZGZmODczYjQ4OWFiMWQ1OGE0Nzg0NzVlOTFiL3RhYmxlcmFuZ2U6OGRlNjFkZmY4NzNiNDg5YWIxZDU4YTQ3ODQ3NWU5MWJfNS05LTEtMS01NjEzMA_86b1a5e1-c3d6-4e9f-b0de-121d5050782a"
      unitRef="usd">510540000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RleHRyZWdpb246NmRmOWFjODZhZDYyNGE1NmJlM2E5ZjRjYWRhNTBlNzNfODQ1_5b7d63d3-db8e-4e14-bec0-a1475d0ed168">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.888%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unpatented technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;206,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ibb326f30119745e9a0e9f6268ead976b_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMy0xLTEtMS01NjEzMA_5db5709f-3a4a-4cf0-ab1c-107bcbaff89d"
      unitRef="usd">52700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization
      contextRef="ibb326f30119745e9a0e9f6268ead976b_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMy0zLTEtMS01NjEzMA_c5206594-4322-4a15-ab05-aa4bee229274"
      unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i7e6184138b29443d83dcf01717298c50_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMy01LTEtMS01NjEzMA_3318b489-4782-4b92-b3d5-e0589c16137e"
      unitRef="usd">52700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization
      contextRef="i7e6184138b29443d83dcf01717298c50_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMy03LTEtMS01NjEzMA_912c04e7-d9dd-42d3-b104-4037db897590"
      unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia9747a514b4c4518af7364085c5c38b6_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNS0xLTEtMS01NjEzMA_04791e53-ef3b-4e94-a37c-d25dddc39988"
      unitRef="usd">5540000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia9747a514b4c4518af7364085c5c38b6_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNS0zLTEtMS01NjEzMA_07b82583-afb2-42ea-9176-ca86e7c21b7d"
      unitRef="usd">4161000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i6b37b017010d4b7fa276b40d09a9d7ec_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNS01LTEtMS01NjEzMA_eccb339d-892e-49b9-a085-7d49c939d05e"
      unitRef="usd">5521000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i6b37b017010d4b7fa276b40d09a9d7ec_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNS03LTEtMS01NjEzMA_f12c5b1d-7909-42cb-9fed-bf49e67bf53e"
      unitRef="usd">4011000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i1362d40ef361419ea5bf8bf0cb279ccf_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNi0xLTEtMS01NjEzMA_6e7ec17c-731a-4b2c-a173-6f4e2105d21c"
      unitRef="usd">34425000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i1362d40ef361419ea5bf8bf0cb279ccf_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNi0zLTEtMS01NjEzMA_2ccfdb66-d781-4a84-bfef-778a700aa601"
      unitRef="usd">20365000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i2fbf4851823d4159a524d76094155494_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNi01LTEtMS01NjEzMA_7ebec989-a2c4-4cb1-87f1-84eb4bd0c39b"
      unitRef="usd">38474000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i2fbf4851823d4159a524d76094155494_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNi03LTEtMS01NjEzMA_0ed82d7d-5c6a-4340-ac66-5f01bea0fe4b"
      unitRef="usd">20656000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id7304d18bfb0426c82b1636048061075_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNy0xLTEtMS01NjEzMA_8bee4d8c-5860-4dd0-bb91-550e653a0f69"
      unitRef="usd">104252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id7304d18bfb0426c82b1636048061075_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNy0zLTEtMS01NjEzMA_605b631c-facf-4ad4-9802-a90d1651ecf6"
      unitRef="usd">40777000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie257c9bad9f749e387d2546867d59ab2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNy01LTEtMS01NjEzMA_da1ccceb-84c7-4e73-be5a-37f5b70e81a0"
      unitRef="usd">108591000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie257c9bad9f749e387d2546867d59ab2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfNy03LTEtMS01NjEzMA_8f68a888-d58a-48ec-9ad7-1fcdab1a16f7"
      unitRef="usd">39832000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id11c3f69be1745f6a70b13457b917bb4_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOC0xLTEtMS01NjEzMA_1df29b00-86b3-482c-8ad1-546b4198dadf"
      unitRef="usd">2389000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id11c3f69be1745f6a70b13457b917bb4_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOC0zLTEtMS01NjEzMA_9227d679-a1e9-42ec-8bd0-68a7178dfd92"
      unitRef="usd">1896000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7fceaf269bb04d7d96c4aa8f04d5fba9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOC01LTEtMS01NjEzMA_355b5c83-cc88-42d7-83ed-ecce82041c24"
      unitRef="usd">2686000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7fceaf269bb04d7d96c4aa8f04d5fba9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOC03LTEtMS01NjEzMA_fa1f97de-96c0-4cfd-aa5e-9b1fdb645a89"
      unitRef="usd">1969000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic2f6f696f90545cd9a4effa5b684a996_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOS0xLTEtMS01NjEzMA_113fe5ee-e329-48c4-ba2b-d26cee541aae"
      unitRef="usd">6910000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic2f6f696f90545cd9a4effa5b684a996_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOS0zLTEtMS01NjEzMA_87af5123-4e5b-407d-9539-f0863d7b7738"
      unitRef="usd">6910000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i3a8b60eb9b20416a9ab32020664b5dab_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOS01LTEtMS01NjEzMA_e0bab05d-e06d-4f2c-b87c-b5528208322a"
      unitRef="usd">7200000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3a8b60eb9b20416a9ab32020664b5dab_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfOS03LTEtMS01NjEzMA_bee269e4-bd1b-437d-8175-63b5b754ff9f"
      unitRef="usd">7200000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTAtMS0xLTEtNTYxMzA_cba5f2e0-68bb-4db2-b8ae-62322f1da4b1"
      unitRef="usd">153516000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTAtMy0xLTEtNTYxMzA_2c3a6d92-fb6e-4e02-b079-77844ed850e1"
      unitRef="usd">74109000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTAtNS0xLTEtNTYxMzA_edbce602-eaee-4ee4-b7d2-1cef2ad2e4c3"
      unitRef="usd">162472000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTAtNy0xLTEtNTYxMzA_a881fcdc-c990-4eb8-978d-02830f2677fd"
      unitRef="usd">73668000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTEtMS0xLTEtNTYxMzA_708732ff-fdae-49fd-9ae1-38f579fa7370"
      unitRef="usd">206216000</rock:AcquiredIntangibleAssetsTotal>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTEtMy0xLTEtNTYxMzA_7a6411ca-e506-4759-b744-8605a5b2ef52"
      unitRef="usd">74109000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTEtNS0xLTEtNTYxMzA_1826477f-c5ee-4fb4-8e47-f7042706e6e5"
      unitRef="usd">215172000</rock:AcquiredIntangibleAssetsTotal>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNiODFjM2UwYzQ1ZjQxZWFhNzlkNzgzNmE0MDI3ZGIxL3RhYmxlcmFuZ2U6M2I4MWMzZTBjNDVmNDFlYWE3OWQ3ODM2YTQwMjdkYjFfMTEtNy0xLTEtNTYxMzA_08f09cda-6110-4fb6-abb6-717a4ab0d7eb"
      unitRef="usd">73668000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <rock:ScheduleofAcquiredIntangibleAssetAmortizationExpenseTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RleHRyZWdpb246NmRmOWFjODZhZDYyNGE1NmJlM2E5ZjRjYWRhNTBlNzNfODM5_6bb0c179-4182-4a68-b9e3-de4162728aa5">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the acquired intangible asset amortization expense for the three months ended March 31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.297%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</rock:ScheduleofAcquiredIntangibleAssetAmortizationExpenseTableTextBlock>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNjZTY1YWY4ZjFmODRhZDY4ZTYwN2RlNWQ3NDUwMGVmL3RhYmxlcmFuZ2U6M2NlNjVhZjhmMWY4NGFkNjhlNjA3ZGU1ZDc0NTAwZWZfMi0xLTEtMS01NjEzMA_1a733457-4dbb-45cd-9655-c6734db0a6a9"
      unitRef="usd">3098000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjNjZTY1YWY4ZjFmODRhZDY4ZTYwN2RlNWQ3NDUwMGVmL3RhYmxlcmFuZ2U6M2NlNjVhZjhmMWY4NGFkNjhlNjA3ZGU1ZDc0NTAwZWZfMi0zLTEtMS01NjEzMA_4e9c2ffa-725b-45be-983c-f276d75ff86d"
      unitRef="usd">4743000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RleHRyZWdpb246NmRmOWFjODZhZDYyNGE1NmJlM2E5ZjRjYWRhNTBlNzNfODM2_1addc3e2-4a88-47f0-977e-66900918cc9b">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense related to acquired intangible assets for the remainder of fiscal 2022 and the next five years thereafter is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.197%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjUxZDVjNjBmMDk3ZTQ4YjY4ZDExZDQ1NDQ3OGVkMzQ3L3RhYmxlcmFuZ2U6NTFkNWM2MGYwOTdlNDhiNjhkMTFkNDU0NDc4ZWQzNDdfMS0xLTEtMS01NjEzMA_28ca5b33-1787-408c-b54d-60e0b76144bc"
      unitRef="usd">8261000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjUxZDVjNjBmMDk3ZTQ4YjY4ZDExZDQ1NDQ3OGVkMzQ3L3RhYmxlcmFuZ2U6NTFkNWM2MGYwOTdlNDhiNjhkMTFkNDU0NDc4ZWQzNDdfMS0zLTEtMS01NjEzMA_c0990279-7094-4ceb-a02f-12a4ec221c6d"
      unitRef="usd">10221000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjUxZDVjNjBmMDk3ZTQ4YjY4ZDExZDQ1NDQ3OGVkMzQ3L3RhYmxlcmFuZ2U6NTFkNWM2MGYwOTdlNDhiNjhkMTFkNDU0NDc4ZWQzNDdfMS01LTEtMS01NjEzMA_8fbcf11c-aeaf-454e-becf-6b6659d5cf67"
      unitRef="usd">10040000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjUxZDVjNjBmMDk3ZTQ4YjY4ZDExZDQ1NDQ3OGVkMzQ3L3RhYmxlcmFuZ2U6NTFkNWM2MGYwOTdlNDhiNjhkMTFkNDU0NDc4ZWQzNDdfMS03LTEtMS01NjEzMA_1cdcb568-ea7f-4f41-a90e-a344cefd322d"
      unitRef="usd">9900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjUxZDVjNjBmMDk3ZTQ4YjY4ZDExZDQ1NDQ3OGVkMzQ3L3RhYmxlcmFuZ2U6NTFkNWM2MGYwOTdlNDhiNjhkMTFkNDU0NDc4ZWQzNDdfMS05LTEtMS01NjEzMA_6fadc9b4-345d-4729-8577-2916deea5b13"
      unitRef="usd">8435000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82MS9mcmFnOjZkZjlhYzg2YWQ2MjRhNTZiZTNhOWY0Y2FkYTUwZTczL3RhYmxlOjUxZDVjNjBmMDk3ZTQ4YjY4ZDExZDQ1NDQ3OGVkMzQ3L3RhYmxlcmFuZ2U6NTFkNWM2MGYwOTdlNDhiNjhkMTFkNDU0NDc4ZWQzNDdfMS0xMS0xLTEtNTYxMzA_bc5b227a-f75b-44b7-ac06-5d8bf6eb4f57"
      unitRef="usd">6756000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:LongTermDebtTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMTczOQ_6f5edbff-b2a9-4e81-9b5a-d6f4b835c823">LONG-TERM DEBT&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.063%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.955%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(719)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Senior Credit Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 24, 2019, the Company entered into a Sixth Amended and Restated Credit Agreement ("Senior Credit Agreement"), which amended and restated the Company&#x2019;s Fifth Amended and Restated Credit Agreement dated December 9, 2015, and provides for a revolving credit facility and letters of credit in an aggregate amount equal to $400 million. The Company can request additional financing from the lenders to increase the revolving credit facility to $700 million or enter into a term loan of up to $300 million subject to conditions set forth in the Senior Credit Agreement.  The Senior Credit Agreement contains three financial covenants.  As of March&#160;31, 2022, the Company was in compliance with all three covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest rates on the revolving credit facility are based on LIBOR plus an additional margin that ranges from 1.125% to 2.00%.  In addition, the revolving credit facility is subject to an undrawn commitment fee ranging between 0.15% and 0.25% based on the Total Leverage Ratio (as defined in the Senior Credit Agreement) and the daily average undrawn balance.  The Senior Credit Agreement terminates on January 23, 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Senior Credit Agreement are secured by the trade receivables, inventory, personal property, equipment, and general intangibles of the Company&#x2019;s significant domestic subsidiaries. Capital distributions under the Senior Credit Agreement are capped at an annual aggregate limit of $75&#160;million if the Company's leverage ratio is over 3.0 times.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Standby letters of credit of $5.5 million have been issued under the Senior Credit Agreement on behalf of the Company as of March&#160;31, 2022.  These letters of credit reduce the amount otherwise available under the revolving credit facility.  The Company had $351.5&#160;million and $369.3 million of availability under the revolving credit facility at March&#160;31, 2022 and December&#160;31, 2021, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMTc0MA_5eeda7fa-5154-4a0f-b654-989094fb90a1">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.063%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.955%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(719)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="ie5ede2226b1345afa3411e87cb9f2ed2_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RhYmxlOmRmOWIwYTk1ZDAwZjRkYzY4Njk5MWQ1NWEzNzEyM2U5L3RhYmxlcmFuZ2U6ZGY5YjBhOTVkMDBmNGRjNjg2OTkxZDU1YTM3MTIzZTlfMS0xLTEtMS01NjEzMA_c05d3f46-3e1b-4119-a352-8c287ca0fcaa"
      unitRef="usd">43000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i17bc900c415e446a8fdc119ca66a1039_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RhYmxlOmRmOWIwYTk1ZDAwZjRkYzY4Njk5MWQ1NWEzNzEyM2U5L3RhYmxlcmFuZ2U6ZGY5YjBhOTVkMDBmNGRjNjg2OTkxZDU1YTM3MTIzZTlfMS0zLTEtMS01NjEzMA_65763d75-121f-4e70-93d1-09823401a1c3"
      unitRef="usd">24500000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RhYmxlOmRmOWIwYTk1ZDAwZjRkYzY4Njk5MWQ1NWEzNzEyM2U5L3RhYmxlcmFuZ2U6ZGY5YjBhOTVkMDBmNGRjNjg2OTkxZDU1YTM3MTIzZTlfMy0xLTEtMS01NjEzMA_85c73d5a-e0fb-4188-99d8-d9562a96e970"
      unitRef="usd">633000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RhYmxlOmRmOWIwYTk1ZDAwZjRkYzY4Njk5MWQ1NWEzNzEyM2U5L3RhYmxlcmFuZ2U6ZGY5YjBhOTVkMDBmNGRjNjg2OTkxZDU1YTM3MTIzZTlfMy0zLTEtMS01NjEzMA_69387e46-f61e-441e-9f58-584096098ba9"
      unitRef="usd">719000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RhYmxlOmRmOWIwYTk1ZDAwZjRkYzY4Njk5MWQ1NWEzNzEyM2U5L3RhYmxlcmFuZ2U6ZGY5YjBhOTVkMDBmNGRjNjg2OTkxZDU1YTM3MTIzZTlfNC0xLTEtMS01NjEzMA_fc60ccc3-ed72-4529-aab7-e163ed526bc5"
      unitRef="usd">42367000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RhYmxlOmRmOWIwYTk1ZDAwZjRkYzY4Njk5MWQ1NWEzNzEyM2U5L3RhYmxlcmFuZ2U6ZGY5YjBhOTVkMDBmNGRjNjg2OTkxZDU1YTM3MTIzZTlfNC0zLTEtMS01NjEzMA_4c0172f9-99b6-435a-81f4-af28c5b7fe62"
      unitRef="usd">23781000</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="i06d38b25f62d4ecb8c5d1c91dc5a2488_I20190124"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfNDQw_08ac0d5d-2514-4933-9c31-1620515d45fc"
      unitRef="usd">400000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i06d38b25f62d4ecb8c5d1c91dc5a2488_I20190124"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfNTUx_39a4192f-67d9-48b9-b701-5c988fe3e0ea"
      unitRef="usd">700000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i6873d841e4e649d5b37d318653ba5108_I20190124"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfNTg5_363408d8-82e9-4727-89b9-2114f793b35e"
      unitRef="usd">300000000</us-gaap:DebtInstrumentFaceAmount>
    <rock:DebtInstrumentNumberOfDebtCovenants
      contextRef="if30f6d159aa6401cb4b1ad0f523c87ab_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfNjk0_e5447852-873d-4d6b-897d-f6490ef2e461"
      unitRef="debtcovenant">3</rock:DebtInstrumentNumberOfDebtCovenants>
    <rock:DebtInstrumentNumberOfDebtCovenants
      contextRef="if30f6d159aa6401cb4b1ad0f523c87ab_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfNzY4_a75d15a3-5369-4834-852d-4593ce46fcc1"
      unitRef="debtcovenant">3</rock:DebtInstrumentNumberOfDebtCovenants>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i2491c66d0d3b4328b69743c3f293abe7_D20190124-20190124"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfODkz_69c19edf-5b80-4f06-a854-dd62fd340f8f"
      unitRef="number">0.01125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i4ca07edcc2674c5c8a45cea598a4270e_D20190124-20190124"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfODk5_69491cd0-ec80-4f72-acc8-f1cef2c0961f"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i569f879f31a5463e9b32d6aa27e1d4c3_D20190124-20190124"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMTAwMw_3c85f6af-7f21-4d2c-9371-49203746ffdc"
      unitRef="number">0.0015</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i42725bb809644deeb59ef8039666bfb9_D20190124-20190124"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMTAxMA_09721215-0bf1-42c4-87be-c9e4b6a05b58"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <rock:LineOfCreditFacilityAnnualBorrowingCapacityMaximum
      contextRef="i06d38b25f62d4ecb8c5d1c91dc5a2488_I20190124"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMjc0ODc3OTA3MTY1Ng_b2658419-79bc-4b71-a177-a69d8d2bb579"
      unitRef="usd">75000000</rock:LineOfCreditFacilityAnnualBorrowingCapacityMaximum>
    <rock:LineOfCreditFacilityLeverageRatioMultiplierMinimum
      contextRef="i5f9ca6dcaa7a498fbaa2c8dfcca0f431_I20190124"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMjc0ODc3OTA3MTY2OQ_0e3a2809-b4f4-4a4a-ba13-4a54e78badfb"
      unitRef="number">3.0</rock:LineOfCreditFacilityLeverageRatioMultiplierMinimum>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="if6733766409d404780637bacd4e40f2b_I20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMTQyNA_100e9fcc-2204-4333-a046-ec5a4a9e57de"
      unitRef="usd">5500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i1d7a2e9388eb4eedba4af363e951e5cb_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMTYzOA_cf00d33b-5d42-43c8-9a13-15ab6163c4ce"
      unitRef="usd">351500000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i2143e95bd691486e861847e393536dd7_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82NC9mcmFnOmM3NDQwM2E3MzFmYTRmNTJiZWY3YTJiZDlhNGQ0YzljL3RleHRyZWdpb246Yzc0NDAzYTczMWZhNGY1MmJlZjdhMmJkOWE0ZDRjOWNfMTY0NQ_4d666555-7f25-4c7f-b6fb-45c76556e1fb"
      unitRef="usd">369300000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RleHRyZWdpb246M2NhZjQzNzQ3MTZiNDA3OTk3YTM5ZDU1YmQzMDM5NGZfNDg3_3267b69f-14e0-4171-bd38-afce5b4de015">ACCUMULATED OTHER COMPREHENSIVE INCOME (LOSS)&lt;div style="margin-bottom:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize the cumulative balance of each component of accumulated other comprehensive income (loss), net of tax, for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.525%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Foreign Currency Translation Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Minimum&#160;post retirement benefit plan &lt;br/&gt;adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total Pre-Tax Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Tax Benefit (Expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Accumulated&#160; Other&lt;br/&gt;Comprehensive&lt;br/&gt;Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(607)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 4pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Minimum post retirement health care plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,213)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(800)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Foreign Currency Translation Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Minimum&#160;post retirement benefit plan &lt;br/&gt;adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total Pre-Tax Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Tax Benefit (Expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Accumulated&#160; Other&lt;br/&gt;Comprehensive&lt;br/&gt;(Loss) Income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(872)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,426)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,298)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 4pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Minimum post retirement health care plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;The realized adjustments relating to the Company&#x2019;s minimum post retirement health care costs were reclassified from accumulated other comprehensive loss and included in other expense in the consolidated statements of income.</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RleHRyZWdpb246M2NhZjQzNzQ3MTZiNDA3OTk3YTM5ZDU1YmQzMDM5NGZfNDkw_a54d740a-79b5-46e1-bf33-a957830883af">&lt;div style="margin-bottom:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize the cumulative balance of each component of accumulated other comprehensive income (loss), net of tax, for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.525%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Foreign Currency Translation Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Minimum&#160;post retirement benefit plan &lt;br/&gt;adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total Pre-Tax Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Tax Benefit (Expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Accumulated&#160; Other&lt;br/&gt;Comprehensive&lt;br/&gt;Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(607)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 4pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Minimum post retirement health care plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,213)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(800)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Foreign Currency Translation Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Minimum&#160;post retirement benefit plan &lt;br/&gt;adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total Pre-Tax Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Tax Benefit (Expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Accumulated&#160; Other&lt;br/&gt;Comprehensive&lt;br/&gt;(Loss) Income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(872)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,426)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,298)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 4pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Minimum post retirement health care plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i9d3349f2ed6246e0be555a5e3e218eca_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMS0xLTEtMS01NjEzMA_a760ac0a-7061-4b4a-9223-69a76e62708d"
      unitRef="usd">1640000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="ia2e786ba1c3d4fdbb3fa9638bd440357_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMS0zLTEtMS01NjEzMA_bf9b9e2d-a7ea-41eb-87a6-07c182c4dbd0"
      unitRef="usd">-2247000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMS01LTEtMS01NjEzMA_74f3adc6-f354-46c7-8128-f1b79cefb231"
      unitRef="usd">-607000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <rock:AccumulatedOtherComprehensiveIncomeLossTax
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMS03LTEtMS01NjEzMA_848f6eb6-b9bc-4a4e-95ed-19ac0a014b0e"
      unitRef="usd">794000</rock:AccumulatedOtherComprehensiveIncomeLossTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMS05LTEtMS01NjEzMA_a586a71b-e767-4cdb-9869-2869232d4560"
      unitRef="usd">187000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="idce4608a4fb04a878b780fda2c755916_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMy0zLTEtMS01NjEzMA_8a18fc5d-44c3-4fe3-bf31-2059f0d7fe98"
      unitRef="usd">34000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="ib661567660dc4fdb9c0f382eb48d6d3b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMy01LTEtMS01NjEzMA_8730f24f-b8c4-4ea4-9135-a9b0c45d2009"
      unitRef="usd">34000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="ib661567660dc4fdb9c0f382eb48d6d3b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMy03LTEtMS01NjEzMA_e6f245a6-5c80-4f66-8ed3-7dfd1e160356"
      unitRef="usd">-10000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ib661567660dc4fdb9c0f382eb48d6d3b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfMy05LTEtMS01NjEzMA_b382ac3b-11ee-4df9-be14-e7b5bb9c94a9"
      unitRef="usd">24000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="ife702c3a50374340a583d87bbdfa9438_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNC0xLTEtMS01NjEzMA_6adbb52a-7fc7-4e2e-b3d7-469ad3f5eca4"
      unitRef="usd">-227000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="ife702c3a50374340a583d87bbdfa9438_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNC01LTEtMS01NjEzMA_65fa101a-86e7-4adf-bb5e-b1334358331e"
      unitRef="usd">-227000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="ife702c3a50374340a583d87bbdfa9438_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNC03LTEtMS01NjEzMA_f646b1a5-c3b5-4d75-ab93-c74d41b5c5ca"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ife702c3a50374340a583d87bbdfa9438_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNC05LTEtMS01NjEzMA_eb78e54e-11c0-4cb2-8e2d-75d5cb7878c3"
      unitRef="usd">-227000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="ief296a867e1444ff8e15d9bf4c44a68f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNS0xLTEtMS01NjEzMA_dab3f2ec-1083-44f7-8785-d904bede2c45"
      unitRef="usd">1413000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="ic4ff19298bb24a4286bdbbd9aace77e0_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNS0zLTEtMS01NjEzMA_1a2b5879-ee28-48b4-9872-b0bbe4f8c5c3"
      unitRef="usd">-2213000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNS01LTEtMS01NjEzMA_b518aa77-9a2e-40f1-a51b-4daa2cfbeda9"
      unitRef="usd">-800000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <rock:AccumulatedOtherComprehensiveIncomeLossTax
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNS03LTEtMS01NjEzMA_e5a75f10-06e7-45c1-b2ec-d9b16b336f61"
      unitRef="usd">784000</rock:AccumulatedOtherComprehensiveIncomeLossTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOmFlNWIxMWJkZTM2YzQ5NTE5YjI2MWRhNGYwMDc1Yzk5L3RhYmxlcmFuZ2U6YWU1YjExYmRlMzZjNDk1MTliMjYxZGE0ZjAwNzVjOTlfNS05LTEtMS01NjEzMA_dc0a967d-483d-4198-af8d-43c4953cbc26"
      unitRef="usd">-16000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i239b47ed627a411e95863e6104682f78_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMS0xLTEtMS01NjEzMA_cb07b5a7-1f3f-4b77-b7ce-f8f63399d5c6"
      unitRef="usd">-872000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i6b718ae3fe89415c9edb678567fa2fd2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMS0zLTEtMS01NjEzMA_5c020d86-6131-4d25-9f4c-142ef7164ad5"
      unitRef="usd">-2426000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i46ce18a26d8e4143b9eb5e2b8bb03937_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMS01LTEtMS01NjEzMA_9a0bb2b7-47df-48d3-aa40-f57b8fc7cf49"
      unitRef="usd">-3298000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <rock:AccumulatedOtherComprehensiveIncomeLossTax
      contextRef="i46ce18a26d8e4143b9eb5e2b8bb03937_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMS03LTEtMS01NjEzMA_eaf2d02d-92cb-479a-889f-ba232c78655b"
      unitRef="usd">837000</rock:AccumulatedOtherComprehensiveIncomeLossTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i46ce18a26d8e4143b9eb5e2b8bb03937_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMS05LTEtMS01NjEzMA_cf0a6c20-380c-48c4-b423-94e2868f454c"
      unitRef="usd">-2461000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="i8c778fa44d504b1d9d7f8de10380ad0a_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMy0zLTEtMS01NjEzMA_9e73977b-78b1-44f9-9ba1-9d6e097ee33a"
      unitRef="usd">37000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="ide3ed9cd55774afb9da1582bf80e8511_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMy01LTEtMS01NjEzMA_47291d03-6ea7-4981-a9ec-82ebdf7a5910"
      unitRef="usd">37000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="ide3ed9cd55774afb9da1582bf80e8511_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMy03LTEtMS01NjEzMA_609d1d18-ed23-4c2f-aa7f-563f3864f157"
      unitRef="usd">-10000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ide3ed9cd55774afb9da1582bf80e8511_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfMy05LTEtMS01NjEzMA_30d12a14-84ae-4139-8b70-605b8375c92d"
      unitRef="usd">27000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="iaf23a18af4b549a38e875ac2859e4086_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNC0xLTEtMS01NjEzMA_a434f170-104f-4cb4-8563-49b7bf2ecd0a"
      unitRef="usd">3198000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="iaf23a18af4b549a38e875ac2859e4086_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNC01LTEtMS01NjEzMA_4cd4dfa9-ff23-4905-ae0f-35ac0d74a794"
      unitRef="usd">3198000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="iaf23a18af4b549a38e875ac2859e4086_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNC03LTEtMS01NjEzMA_579ddda3-219c-4423-acee-bdc7e6c1224e"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="iaf23a18af4b549a38e875ac2859e4086_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNC05LTEtMS01NjEzMA_8fadc6f4-0bcf-4788-9fe7-4c3d65c56692"
      unitRef="usd">3198000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i4d1770a82b08469da55d3810845f6481_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNS0xLTEtMS01NjEzMA_0da57cb1-d212-4c52-88d9-6568ae595dc4"
      unitRef="usd">2326000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="i32c14d8e5e4b4038bab8d9c69d22109a_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNS0zLTEtMS01NjEzMA_53c8d17c-ffdc-47f4-b411-6a378384c8d0"
      unitRef="usd">-2389000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="ifbb73430dafd4a80ae620049292c3337_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNS01LTEtMS01NjEzMA_b88afefe-8423-4166-a1ae-f915927369f4"
      unitRef="usd">-63000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <rock:AccumulatedOtherComprehensiveIncomeLossTax
      contextRef="ifbb73430dafd4a80ae620049292c3337_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNS03LTEtMS01NjEzMA_88e46191-631f-4b75-ba73-3a0a53512d12"
      unitRef="usd">827000</rock:AccumulatedOtherComprehensiveIncomeLossTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ifbb73430dafd4a80ae620049292c3337_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl82Ny9mcmFnOjNjYWY0Mzc0NzE2YjQwNzk5N2EzOWQ1NWJkMzAzOTRmL3RhYmxlOjhkMmRmNTllYzY0ZTQ0OTJhYWJkMGFlYjJlNjEzNTcyL3RhYmxlcmFuZ2U6OGQyZGY1OWVjNjRlNDQ5MmFhYmQwYWViMmU2MTM1NzJfNS05LTEtMS01NjEzMA_86a74050-7b80-4cc2-b724-b683b51c56fd"
      unitRef="usd">764000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfNDIxOA_ffa3f147-2cbc-41cf-90ea-a49516468d97">EQUITY-BASED COMPENSATION&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 4, 2018, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. 2018 Equity Incentive Plan (the "2018 Plan").  The 2018 Plan provides for the issuance of up to 1,000,000 shares of common stock and supplements the remaining shares available for issuance under the Gibraltar Industries, Inc. 2015 Equity Incentive Plan (the "2015 Plan"). Both the 2018 Plan and the 2015 Plan allow the Company to grant equity-based incentive compensation awards, in the form of non-qualified options, restricted shares, restricted stock units, performance shares, performance stock units, and stock rights to eligible participants. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2016, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. 2016 Stock Plan for Non-Employee Directors ("Non-Employee Directors Plan") which provides for the issuance of up to 100,000 shares, allows the Company to grant awards of shares of the Company's common stock to non-employee Directors of the Company, and permits the Directors to defer receipt of such shares pursuant to the terms of the Non-Employee Directors Plan. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Equity Based Awards - Settled in Stock&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the number of equity-based awards granted during the three months ended March 31, which will convert to shares upon vesting, along with the weighted average grant date fair values: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Awards (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance stock units (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,958&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.91&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) The Company&#x2019;s performance stock units (&#x201c;PSUs&#x201d;) represent shares granted for which the final number of shares earned depends on financial performance or market conditions.  The number of shares to be issued may vary between 0% and 200% of the number of PSUs granted depending on the relative achievement to targeted thresholds.  The Company's PSUs with a financial performance condition are based on either the Company&#x2019;s return on invested capital (&#x201c;ROIC&#x201d;) over a one-year performance period.  The Company's PSUs with a market condition are based on the ranking of the Company&#x2019;s total stockholder return (&#x201c;TSR&#x201d;) performance, on a percentile basis, over a three year performance period compared to the S&amp;amp;P Small Cap Industrial sector, over the same three year performance period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2) All PSUs granted in the first quarter of 2021 were forfeited in the first quarter of 2022 as the threshold level of achievement was not met based on the Company's actual ROIC achievement level for the performance period ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Equity Based Awards - Settled in Cash&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's equity-based awards that are settled in cash are the awards under the Management Stock Purchase Plan (the "MSPP") which is authorized under the Company's equity incentive plans.  The total of these share-based liabilities recorded on the consolidated balance sheet as of March&#160;31, 2022 was $18.9 million, of which $2.0&#160;million was included in current accrued expenses and  $16.9 million was included in non-current liabilities.  Total share-based liabilities as of December&#160;31, 2021 were $22.6 million, of which $2.9&#160;million was included in current accrued expenses and $19.7 million was included in non-current liabilities.  &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's MSPP provides participants the ability to defer a portion of their compensation, convertible to unrestricted investments, restricted stock units, or a combination of both, or defer a portion of their directors&#x2019; fees, convertible to restricted stock units. Employees eligible to defer a portion of their compensation also receive a company-matching award in restricted stock units equal to a percentage of their compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The deferrals and related company match are credited to an account that represents a share-based liability.  The portion of the account deferred to unrestricted investments is measured at fair market value of the unrestricted investments, and the portion of the account deferred to restricted stock units and company-matching restricted stock units is measured at a 200-day average of the Company&#x2019;s stock price. The account will be converted to and settled in cash payable to participants upon retirement or a termination of their service to the Company. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the number of restricted stock units credited to active participant accounts and the payments made with respect to restricted stock units issued under the MSPP during the three months ended March 31,: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units credited &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Share-based liabilities paid (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i9d4072d01fd2405390dc8e53c60fab4f_I20180504"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMjM3_808c91f7-b259-4339-b116-6b62d3414e79"
      unitRef="shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i5a1fab90ca824b29bc52d0bcaa7144a4_I20161231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfODk3_ac1b17dc-9e3f-4b98-b9c8-72f89499bafd"
      unitRef="shares">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfNDIyNA_a6b49086-459b-4f1d-9f44-bab8b8b6d6aa">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the number of equity-based awards granted during the three months ended March 31, which will convert to shares upon vesting, along with the weighted average grant date fair values: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Awards (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance stock units (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,958&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.91&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) The Company&#x2019;s performance stock units (&#x201c;PSUs&#x201d;) represent shares granted for which the final number of shares earned depends on financial performance or market conditions.  The number of shares to be issued may vary between 0% and 200% of the number of PSUs granted depending on the relative achievement to targeted thresholds.  The Company's PSUs with a financial performance condition are based on either the Company&#x2019;s return on invested capital (&#x201c;ROIC&#x201d;) over a one-year performance period.  The Company's PSUs with a market condition are based on the ranking of the Company&#x2019;s total stockholder return (&#x201c;TSR&#x201d;) performance, on a percentile basis, over a three year performance period compared to the S&amp;amp;P Small Cap Industrial sector, over the same three year performance period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2) All PSUs granted in the first quarter of 2021 were forfeited in the first quarter of 2022 as the threshold level of achievement was not met based on the Company's actual ROIC achievement level for the performance period ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i78a586a00b8e442e8cbc584c85a2d139_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMi0xLTEtMS01NjEzMA_aa9cbf9e-e7cc-4081-96a9-af26048a5ad1"
      unitRef="shares">108464</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i78a586a00b8e442e8cbc584c85a2d139_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMi0zLTEtMS01NjEzMA_f6e14d71-326a-47fa-a314-5da632cbf47c"
      unitRef="usdPerShare">47.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i85c2ff70604e42289af8ab1cd19d9877_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMi01LTEtMS01NjEzMA_cbff0b9f-2f64-427b-b43f-82cbad182852"
      unitRef="shares">62778</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i85c2ff70604e42289af8ab1cd19d9877_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMi03LTEtMS01NjEzMA_46a14cb2-2c79-49a8-ae7f-3e3abb5350ea"
      unitRef="usdPerShare">87.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i9bdaa09ee3a34906b0dbfb8e89122c11_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMy0xLTEtMS01NjEzMA_f3508b68-e9ef-4fff-9226-39e05d3eaa94"
      unitRef="shares">58958</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i9bdaa09ee3a34906b0dbfb8e89122c11_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMy0zLTEtMS01NjEzMA_dec72fc8-f6b0-40d3-925e-8912de6ae3e1"
      unitRef="usdPerShare">47.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i245589f97c724176a09061f5d851e665_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMy01LTEtMS01NjEzMA_1568c04b-dd96-4baf-9936-5ee92f2ce8f8"
      unitRef="shares">33187</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i245589f97c724176a09061f5d851e665_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOmNjNGFlY2Q1MjhmZDRlZjA5NWFkOTQzYzU4MDAwMDk3L3RhYmxlcmFuZ2U6Y2M0YWVjZDUyOGZkNGVmMDk1YWQ5NDNjNTgwMDAwOTdfMy03LTEtMS01NjEzMA_793f9377-ad27-49b3-b0ba-49a2f661d723"
      unitRef="usdPerShare">87.91</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent
      contextRef="i36c6c56681f74ae38bb5dfa9480c1123_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMTYxNQ_4b75c02d-7074-4f88-ad08-a977ed002275"
      unitRef="number">0</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent
      contextRef="ifa6b15575ceb4ee6b9b4a43faad5658c_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMTYyMg_7ba5f4a7-49a9-4dc5-a369-a83f9f40b974"
      unitRef="number">2</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod
      contextRef="i5823b97e2327483784c7ccc22d16c07c_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfNDIyMA_a42668e2-1d21-45d4-8006-56b283f76494">P1Y</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod
      contextRef="i09c55e8644564259b33564ecc578e14e_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfNDIyNQ_9b5616b8-02fa-4189-bbfd-ae77ef6e42a4">P3Y</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod
      contextRef="i09c55e8644564259b33564ecc578e14e_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfNDIxNw_0ce87b6c-79c1-4ee3-b184-e5e21dad2745">P3Y</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod>
    <rock:AccruedEquityBasedCompensation
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMjc5OQ_86e4b6f6-f84f-473b-859c-a0b03bb60b5f"
      unitRef="usd">18900000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation
      contextRef="i0c7c58df75234dc491e16405f7575adf_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMzI5ODUzNDg4OTE3NQ_8772bc86-6151-4dc8-bca0-a9f8e7ec1d49"
      unitRef="usd">2000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation
      contextRef="i90b7286f7ec04c0f945e394432f46309_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMjgxMg_77577737-a4f2-45fb-905d-43fd3e66a926"
      unitRef="usd">16900000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMjg5OQ_c280ede4-e678-4645-b451-290321b71f0a"
      unitRef="usd">22600000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation
      contextRef="i6c02e2e710144f8e91b6f241e9a7b1fe_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMTA5OTUxMTYzMjMyMQ_505dbe1d-48a2-448b-8973-3fa4a2969a65"
      unitRef="usd">2900000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation
      contextRef="i1f27ec11d9504d588d153e2e4e9194f9_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMjkxMg_5439ec68-d0e0-4b0c-a6a6-935ae87ec500"
      unitRef="usd">19700000</rock:AccruedEquityBasedCompensation>
    <rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod
      contextRef="if5d6d8bb7e044423a62ce3390ea2aa8b_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfMzgwMA_1ece663e-c91e-4f05-a999-133622411ed7">P200D</rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RleHRyZWdpb246ZmNkYWZkNzllMjBlNGE5MmFiMWU3ODMwZTAyODU5OWFfNDIyNw_de2c115b-4389-431c-9051-d1a8d5cab7ad">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the number of restricted stock units credited to active participant accounts and the payments made with respect to restricted stock units issued under the MSPP during the three months ended March 31,: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units credited &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Share-based liabilities paid (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="if5d6d8bb7e044423a62ce3390ea2aa8b_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOjYxY2JhM2I0ODJiNTQyOWRhZDk4M2M5NDQ0N2QzOTIwL3RhYmxlcmFuZ2U6NjFjYmEzYjQ4MmI1NDI5ZGFkOTgzYzk0NDQ3ZDM5MjBfMS0xLTEtMS01NjEzMA_1d3c3afc-3615-4bf5-89d5-8ab2ffd7786f"
      unitRef="usd">2876</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i6fc2086847d44b8aba9ccd3a5080ee6b_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOjYxY2JhM2I0ODJiNTQyOWRhZDk4M2M5NDQ0N2QzOTIwL3RhYmxlcmFuZ2U6NjFjYmEzYjQ4MmI1NDI5ZGFkOTgzYzk0NDQ3ZDM5MjBfMS0zLTEtMS01NjEzMA_c0d2f16a-6b92-4a36-a526-78b1aa9c5fd4"
      unitRef="usd">24085</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid
      contextRef="i89d3f1a9cd894620876d77165769e9ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOjYxY2JhM2I0ODJiNTQyOWRhZDk4M2M5NDQ0N2QzOTIwL3RhYmxlcmFuZ2U6NjFjYmEzYjQ4MmI1NDI5ZGFkOTgzYzk0NDQ3ZDM5MjBfMi0xLTEtMS01NjEzMA_b9c9a8a5-1a47-4754-9919-205da5ad84a8"
      unitRef="usd">2545000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid
      contextRef="i82e52e4f8be54d79b5fc385a7224185d_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83MC9mcmFnOmZjZGFmZDc5ZTIwZTRhOTJhYjFlNzgzMGUwMjg1OTlhL3RhYmxlOjYxY2JhM2I0ODJiNTQyOWRhZDk4M2M5NDQ0N2QzOTIwL3RhYmxlcmFuZ2U6NjFjYmEzYjQ4MmI1NDI5ZGFkOTgzYzk0NDQ3ZDM5MjBfMi0zLTEtMS01NjEzMA_a04c5eb8-22e4-477e-bfb1-6d564aaf809e"
      unitRef="usd">3510000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RleHRyZWdpb246ZTdjYTM4NDBkMjc1NDE3M2FjZDU0N2JmNGY2ZTEzZjBfMjM5NQ_d7688d5c-998d-4fb1-886c-0f022a7ca524">HELD FOR SALE AND DISCONTINUED OPERATIONS&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Held for Sale&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the first quarter of 2022, the Company committed to a plan to sell its Processing business (the "disposal group") which is a business within the Company's Agtech reportable segment. The planned sale does not meet the criteria to be classified as a discontinued operation. As a result, the Company will continue reporting the operating results of the disposal group in the Company's consolidated operating results from continuing operations until the sale of the business is completed.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Company classifies assets and related liabilities as held for sale when: (i) management has committed to a plan to sell the assets, (ii) the net assets are available for immediate sale, (iii) there is an active program to locate a buyer and (iv) the sale and transfer of the net assets is probable within one year. Assets and liabilities held for sale are presented separately on our consolidated balance sheets with a valuation allowance, if necessary, to recognize the net carrying amount at the lower of cost or fair value, less costs to sell. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March 31, 2022, the assets and liabilities of the disposal group have been classified as held for sale. The following table summarizes these assets and liabilities which have been measured at the lower of (i) the carrying value when classified as held for sale and (ii) the fair value of the business less costs to sell. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.338%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.854%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net of allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net of reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangibles, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-current operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; The assignment of goodwill was based on the relative fair value of the disposal group compared to the fair value of the total reporting unit it was included in prior to being reclassified as held for sale.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales and operating loss for held for sale operations for the three months ended March 31 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.964%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.367%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,525)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(749)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Effective with the classification of the disposal group as held for sale, depreciation of property, plant and equipment and amortization of finite-lived intangible assets and right-of-use assets are not recorded while these assets are classified as held for sale. As a result of our evaluation of the recoverability of the carrying value of the assets and liabilities held for sale relative to an estimated sales price, adjusted for costs to sell, no losses were recorded during the three months ended March 31, 2022. The recoverability of the disposal group will be evaluated each reporting period until the sale of the business is completed.  &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Discontinued Operations&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 23, 2021, the Company sold the stock of its Industrial business which had been classified as held for sale and reported as a discontinued operation in the Company&#x2019;s consolidated financial statements for the year ended December&#160;31, 2021.  Net proceeds of $38&#160;million, consisting of cash and a $13&#160;million seller note, resulted in an estimated pre-tax loss of $30&#160;million, subject to working capital and other adjustments, of which $29.6&#160;million was recorded when the assets of the Industrial business were written down to fair market value during the fourth quarter of 2020.  The seller note was paid in full to the Company during the second quarter of 2021.      &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of operations and financial position of the Industrial business have been presented as a discontinued operation in the Company's consolidated financial statements for all periods presented.  The Company allocates interest to its discontinued operations in accordance with ASC Subtopic 205-20, &#x201c;Presentation of Financial Statements &#x2013; Discontinued Operations.&#x201d; Interest was allocated based on the amount of net assets held by the discontinued operation in comparison to consolidated net assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of income from discontinued operations before taxes, including the interest allocated to discontinued operations, for the three months ended March 31 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.057%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.060%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended &lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment to loss on disposal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations before taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock>
    <us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RleHRyZWdpb246ZTdjYTM4NDBkMjc1NDE3M2FjZDU0N2JmNGY2ZTEzZjBfMjc0ODc3OTA4MDM3MA_aef6ccac-512c-48e6-9f31-907bb2265489">The following table summarizes these assets and liabilities which have been measured at the lower of (i) the carrying value when classified as held for sale and (ii) the fair value of the business less costs to sell. &lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.338%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.854%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net of allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net of reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangibles, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-current operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; The assignment of goodwill was based on the relative fair value of the disposal group compared to the fair value of the total reporting unit it was included in prior to being reclassified as held for sale.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales and operating loss for held for sale operations for the three months ended March 31 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.964%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.367%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,525)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(749)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of income from discontinued operations before taxes, including the interest allocated to discontinued operations, for the three months ended March 31 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.057%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.060%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended &lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment to loss on disposal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations before taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationAccountsNotesAndLoansReceivableNet
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfMi0yLTEtMS02NDUyNw_829a490b-4af0-40e3-8c03-9a9a05c45bb4"
      unitRef="usd">1260000</us-gaap:DisposalGroupIncludingDiscontinuedOperationAccountsNotesAndLoansReceivableNet>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationInventoryCurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfMy0yLTEtMS02NDUyNw_a0a15b9a-398d-4f6d-bbb0-c8880ce5f046"
      unitRef="usd">8093000</us-gaap:DisposalGroupIncludingDiscontinuedOperationInventoryCurrent>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfNC0yLTEtMS02NDUyNw_244c2c10-6e07-4bc5-b4a1-83deffcbff4d"
      unitRef="usd">1627000</us-gaap:DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfNS0yLTEtMS02NDUyNw_58323c75-b361-444c-9bfc-9dbed72c52bd"
      unitRef="usd">331000</us-gaap:DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNoncurrent>
    <rock:DisposalGroupIncludingDiscontinuedOperationOperatingLeaseRightOfUseAsset
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfNi0yLTEtMS02NDUyNw_810bf582-10a6-4d65-9729-528be1048da5"
      unitRef="usd">415000</rock:DisposalGroupIncludingDiscontinuedOperationOperatingLeaseRightOfUseAsset>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwillNoncurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfNy0yLTEtMS02NDUyNw_4d1e687a-7d1c-47c4-ae7d-69a41ae196b4"
      unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwillNoncurrent>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationIntangibleAssetsNoncurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfOC0yLTEtMS02NDUyNw_1e7f0e71-42dd-427d-8cff-73e253980fee"
      unitRef="usd">6213000</us-gaap:DisposalGroupIncludingDiscontinuedOperationIntangibleAssetsNoncurrent>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfOS0yLTEtMS02NDUyNw_9a367122-ef7e-495f-90f5-76f539fe9ec0"
      unitRef="usd">17939000</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationAccountsPayableCurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfMTEtMi0xLTEtNjQ1Mjk_e9cd0f4d-abe2-4389-a10f-90f9456df353"
      unitRef="usd">1291000</us-gaap:DisposalGroupIncludingDiscontinuedOperationAccountsPayableCurrent>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationAccruedLiabilitiesCurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfMTItMi0xLTEtNjQ1Mjk_21336123-b16f-4885-abe9-4989b8166eee"
      unitRef="usd">1172000</us-gaap:DisposalGroupIncludingDiscontinuedOperationAccruedLiabilitiesCurrent>
    <rock:DisposalGroupIncludingDiscontinuedOperationOperatingLeaseLiabilityNoncurrent
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfMTMtMi0xLTEtNjQ1Mjk_a8b36906-8a9e-4ae3-8f94-cf73388cd900"
      unitRef="usd">172000</rock:DisposalGroupIncludingDiscontinuedOperationOperatingLeaseLiabilityNoncurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="i86d6687e8ff443c480979187f6680a1d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0MWI0NmM1YzJjZDQ3MjdhZTNiN2NjNDcxNGFhNWY2L3RhYmxlcmFuZ2U6YTQxYjQ2YzVjMmNkNDcyN2FlM2I3Y2M0NzE0YWE1ZjZfMTQtMi0xLTEtNjQ1Mjk_30435bf5-c7d8-4868-b791-0b23854de415"
      unitRef="usd">2635000</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="id4be17fb559c47f78725c79feece0d3e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmQyOTRkMDZmYTFkZjQ3N2I4OWIyZThlZWQ5ZDBlOTE3L3RhYmxlcmFuZ2U6ZDI5NGQwNmZhMWRmNDc3Yjg5YjJlOGVlZDlkMGU5MTdfMS0xLTEtMS02NDU1Ng_827c1dbd-f79a-4b40-9ee7-41fbbcdefdef"
      unitRef="usd">1823000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="icdd0120f6fcc400a80d966f96f56f1dc_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmQyOTRkMDZmYTFkZjQ3N2I4OWIyZThlZWQ5ZDBlOTE3L3RhYmxlcmFuZ2U6ZDI5NGQwNmZhMWRmNDc3Yjg5YjJlOGVlZDlkMGU5MTdfMS0yLTEtMS02NDU1Ng_9d4919d7-facc-469f-8d37-84d3b0fe3bba"
      unitRef="usd">4973000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss
      contextRef="id4be17fb559c47f78725c79feece0d3e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmQyOTRkMDZmYTFkZjQ3N2I4OWIyZThlZWQ5ZDBlOTE3L3RhYmxlcmFuZ2U6ZDI5NGQwNmZhMWRmNDc3Yjg5YjJlOGVlZDlkMGU5MTdfMi0xLTEtMS02NDU1Ng_1f33c8de-3423-4ec3-8715-22d37698e1b8"
      unitRef="usd">-2525000</us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss
      contextRef="icdd0120f6fcc400a80d966f96f56f1dc_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmQyOTRkMDZmYTFkZjQ3N2I4OWIyZThlZWQ5ZDBlOTE3L3RhYmxlcmFuZ2U6ZDI5NGQwNmZhMWRmNDc3Yjg5YjJlOGVlZDlkMGU5MTdfMi0yLTEtMS02NDU1Ng_08a79442-5f81-4ab8-9ab7-8343bdfe18b5"
      unitRef="usd">-749000</us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="id4be17fb559c47f78725c79feece0d3e_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RleHRyZWdpb246ZTdjYTM4NDBkMjc1NDE3M2FjZDU0N2JmNGY2ZTEzZjBfMTQ4NDM0MDY5ODU5Nzk_4c1939e9-7055-4d60-9701-03e96ebac04d"
      unitRef="usd">0</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i5530ab79abf84ae5b5689a6b2be203be_I20210223"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RleHRyZWdpb246ZTdjYTM4NDBkMjc1NDE3M2FjZDU0N2JmNGY2ZTEzZjBfMjg1_4cc26e3b-9ddf-4b26-b392-571b24c6693f"
      unitRef="usd">38000000</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1
      contextRef="i459d20c849e940d1a79dd064110d4db4_D20210223-20210223"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RleHRyZWdpb246ZTdjYTM4NDBkMjc1NDE3M2FjZDU0N2JmNGY2ZTEzZjBfMzE0_30cf39a9-8305-4dc3-84b2-41588eaddefc"
      unitRef="usd">13000000</us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1>
    <us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax
      contextRef="i459d20c849e940d1a79dd064110d4db4_D20210223-20210223"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RleHRyZWdpb246ZTdjYTM4NDBkMjc1NDE3M2FjZDU0N2JmNGY2ZTEzZjBfMzcx_ca84d0c7-ff53-4f1d-9094-368924b8d0a6"
      unitRef="usd">-30000000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i459d20c849e940d1a79dd064110d4db4_D20210223-20210223"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RleHRyZWdpb246ZTdjYTM4NDBkMjc1NDE3M2FjZDU0N2JmNGY2ZTEzZjBfNDM0_b992c324-e21a-4508-8471-5533d95a95d6"
      unitRef="usd">-29600000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="i8ed5c06a20614f818d4be4576c3eebcc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfMi0xLTEtMS01NjEzMA_c7bdcc33-f17d-4628-ab55-ae44a59ba6b1"
      unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="i56eacd63825a45e181fc8bfaf96af2c6_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfMi0zLTEtMS01NjEzMA_87b83b87-7947-4075-b024-888d50913557"
      unitRef="usd">20391000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingExpense
      contextRef="i8ed5c06a20614f818d4be4576c3eebcc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfMy0xLTEtMS01NjEzMA_75c2ac89-3f63-4a33-a706-08741d9f4696"
      unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingExpense>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingExpense
      contextRef="i56eacd63825a45e181fc8bfaf96af2c6_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfMy0zLTEtMS01NjEzMA_477b7f17-edd7-42ec-aea0-09b57b4b330f"
      unitRef="usd">17493000</us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingExpense>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i8ed5c06a20614f818d4be4576c3eebcc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfNC0xLTEtMS01NjEzMA_89829367-f105-4440-a41a-870f87476f15"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i56eacd63825a45e181fc8bfaf96af2c6_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfNC0zLTEtMS01NjEzMA_f1359bed-d315-4575-ae00-1be776b24cf5"
      unitRef="usd">-328000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="i8ed5c06a20614f818d4be4576c3eebcc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfNi0xLTEtMS01NjEzMA_592ab623-5a6c-4ea5-9fbb-f3e644c56f17"
      unitRef="usd">0</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="i56eacd63825a45e181fc8bfaf96af2c6_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83My9mcmFnOmU3Y2EzODQwZDI3NTQxNzNhY2Q1NDdiZjRmNmUxM2YwL3RhYmxlOmE0OTRlMTI0MTdjYjRhNTk4ZDcxYjcyNGJhZGU0MzNjL3RhYmxlcmFuZ2U6YTQ5NGUxMjQxN2NiNGE1OThkNzFiNzI0YmFkZTQzM2NfNi0zLTEtMS01NjEzMA_70df99c9-8b8a-4136-a532-d7e3b4bbe33c"
      unitRef="usd">2570000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RleHRyZWdpb246ZTg3Yjg3ZjFlOGU0NDM0ZWI1NmQ0ZWFmMzk1OGQ1ZGVfMTcyNA_afd276de-1a89-4c41-a48c-bfeb11ff2548">EXIT ACTIVITY COSTS AND ASSET IMPAIRMENTS&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has incurred exit activity costs and asset impairment charges as a result of its 80/20 simplification and portfolio management initiatives. These initiatives have resulted in the identification of low-volume, low margin, internally-produced products which have been or will be outsourced or discontinued, the simplification of processes, the sale and exiting of less profitable businesses or product lines, and a reduction in our manufacturing footprint.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Exit activity costs (recoveries) were incurred during the three months ended March&#160;31, 2022 and 2021 which related to moving and closing costs, severance, and contract terminations, along with asset impairment charges related to the write-down of inventory and impairment of machinery and equipment associated with discontinued product lines, as a result of process simplification initiatives. In conjunction with these initiatives, the Company closed one facility during the three months ended March&#160;31, 2022.   During the three months ended March&#160;31, 2021, the Company closed two facilities as a result of these initiatives.  &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables set forth the exit activity costs (recoveries) and asset impairment charges incurred by segment during the three months ended March 31, related to the restructuring activities described above (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.092%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.125%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.387%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.327%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exit activity costs (recoveries), net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Asset impairment charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exit activity costs &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Asset impairment charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total exit activity costs &amp;amp; asset impairments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a summary of where the exit activity costs and asset impairment charges were recorded in the consolidated statements of income for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.362%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.795%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.797%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total exit activity and asset impairment charges &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the beginning and ending liability for exit activity costs relating to the Company&#x2019;s facility consolidation efforts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exit activity costs recognized&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(116)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,464)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RleHRyZWdpb246ZTg3Yjg3ZjFlOGU0NDM0ZWI1NmQ0ZWFmMzk1OGQ1ZGVfOTQ2_9da34cb0-c2b2-4535-9578-cd0678891c3c"
      unitRef="facility">1</rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed>
    <rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RleHRyZWdpb246ZTg3Yjg3ZjFlOGU0NDM0ZWI1NmQ0ZWFmMzk1OGQ1ZGVfMTA0NQ_b78a027d-82a1-4f47-8161-0d9ad4074ea6"
      unitRef="facility">2</rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RleHRyZWdpb246ZTg3Yjg3ZjFlOGU0NDM0ZWI1NmQ0ZWFmMzk1OGQ1ZGVfMTczMw_84b6ea5c-02fa-46e2-8a14-3ce9a3453c3a">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables set forth the exit activity costs (recoveries) and asset impairment charges incurred by segment during the three months ended March 31, related to the restructuring activities described above (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.092%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.125%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.387%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.327%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exit activity costs (recoveries), net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Asset impairment charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exit activity costs &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Asset impairment charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total exit activity costs &amp;amp; asset impairments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a summary of where the exit activity costs and asset impairment charges were recorded in the consolidated statements of income for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.362%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.795%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.797%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total exit activity and asset impairment charges &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock>
    <us-gaap:BusinessExitCosts1
      contextRef="i772d732ea72a4b208bcd510f4a4bb0c2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfMy0xLTEtMS01NjEzMA_790c82e2-7c2c-4e42-8f01-cac66671cf61"
      unitRef="usd">1328000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i772d732ea72a4b208bcd510f4a4bb0c2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfMy0zLTEtMS01NjEzMA_18e57c33-4c9f-48e9-ab68-9f0ae6c1fe16"
      unitRef="usd">1198000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i772d732ea72a4b208bcd510f4a4bb0c2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfMy01LTEtMS01NjEzMA_f0cc7161-487e-46ee-aa76-44c1802769f9"
      unitRef="usd">2526000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="ied59e9df3fcc4790b6c1e8973dadacb0_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfMy03LTEtMS01NjEzMA_609113c3-b3d0-4864-8d6b-e1745454b12e"
      unitRef="usd">3778000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="ied59e9df3fcc4790b6c1e8973dadacb0_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfMy05LTEtMS01NjEzMA_17d2c6d2-555d-406a-a026-af0faba25701"
      unitRef="usd">1193000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="ied59e9df3fcc4790b6c1e8973dadacb0_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfMy0xMS0xLTEtNTYxMzA_f22a5e75-99c1-40ec-b6c5-b06623807ad9"
      unitRef="usd">4971000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i8f0190aaaa05403294a7b27a6ebfb08d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNC0xLTEtMS01NjEzMA_16aa64e3-a861-4d89-b481-b28f5a7fd839"
      unitRef="usd">3000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i8f0190aaaa05403294a7b27a6ebfb08d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNC0zLTEtMS01NjEzMA_5cd020ea-b231-4ec2-8390-01d65654a085"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i8f0190aaaa05403294a7b27a6ebfb08d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNC01LTEtMS01NjEzMA_ef47e469-63e0-4069-8e68-240c541665ee"
      unitRef="usd">3000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i27e03da40a9f49dfbd2c96c8ddf12268_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNC03LTEtMS01NjEzMA_b856cfa4-9f2c-40ce-9ebd-e0a3840857e4"
      unitRef="usd">65000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i27e03da40a9f49dfbd2c96c8ddf12268_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNC05LTEtMS01NjEzMA_28c2608c-7101-423c-ba6e-4074a94b3a1c"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i27e03da40a9f49dfbd2c96c8ddf12268_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNC0xMS0xLTEtNTYxMzA_7b014dec-8eb6-4bf5-a7dc-bf4d23111249"
      unitRef="usd">65000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="ia4624d2c98c044a18ba80ccee868d10d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNS0xLTEtMS01NjEzMA_f02becd7-73c9-4089-9cea-58bf611be874"
      unitRef="usd">-9000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="ia4624d2c98c044a18ba80ccee868d10d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNS0zLTEtMS01NjEzMA_1587fe0b-7b0e-4d11-bf56-26ce9d6ce2b2"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="ia4624d2c98c044a18ba80ccee868d10d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNS01LTEtMS01NjEzMA_cdf36462-ca32-479b-87f0-f39656571d80"
      unitRef="usd">-9000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i69d7f6dbe7f140d792dddb226fa26570_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNS03LTEtMS01NjEzMA_99ce571e-be55-4780-8b7a-9563470b8d3a"
      unitRef="usd">204000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i69d7f6dbe7f140d792dddb226fa26570_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNS05LTEtMS01NjEzMA_eb7951eb-b2db-44dd-8420-c49610b190af"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i69d7f6dbe7f140d792dddb226fa26570_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNS0xMS0xLTEtNTYxMzA_09d5892a-a2ad-446c-8f60-f420e5dd0660"
      unitRef="usd">204000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i4d905a570caa4cc0a3907146dd2213a3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNi0xLTEtMS01NjEzMA_c590637e-94bf-4b76-8772-c6464a8a3caf"
      unitRef="usd">-63000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i4d905a570caa4cc0a3907146dd2213a3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNi0zLTEtMS01NjEzMA_f4eb9cf5-90ca-413b-a907-ce3a983a7f9b"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i4d905a570caa4cc0a3907146dd2213a3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNi01LTEtMS01NjEzMA_984ac391-256e-4723-9327-e33ad7a52b81"
      unitRef="usd">-63000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i44f566e1df0e4e3b8d2d24b1ba59627c_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNi03LTEtMS01NjEzMA_a4643625-2f8b-4896-af53-d686b716ec9d"
      unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i44f566e1df0e4e3b8d2d24b1ba59627c_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNi05LTEtMS01NjEzMA_ca2f1611-9bd5-4733-82d7-cb1d0e4f8a4b"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i44f566e1df0e4e3b8d2d24b1ba59627c_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNi0xMS0xLTEtNTYxMzA_18d589e5-fbb3-4113-88d4-f6f3ded4e8e7"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i875fb196b1bf4ac0948496f2bec1ee67_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNy0xLTEtMS01NjEzMA_7987b05d-04bc-4f47-96f5-714ee193d2a9"
      unitRef="usd">20000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i875fb196b1bf4ac0948496f2bec1ee67_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNy0zLTEtMS01NjEzMA_6312b258-00c6-48bc-9a8a-fbde503ffb71"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i875fb196b1bf4ac0948496f2bec1ee67_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNy01LTEtMS01NjEzMA_0365d5f1-f65f-493f-8eda-4838dd4b32ee"
      unitRef="usd">20000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i1b4738782de54575adbb4615345a5776_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNy03LTEtMS01NjEzMA_1807888d-cda4-430b-bc97-6163582e252e"
      unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i1b4738782de54575adbb4615345a5776_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNy05LTEtMS01NjEzMA_b514fe1d-0c1a-460b-84c3-1ac50976d92d"
      unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i1b4738782de54575adbb4615345a5776_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfNy0xMS0xLTEtNTYxMzA_df010350-0b7b-4f88-9d7f-23bbccb98fc0"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfOC0xLTEtMS01NjEzMA_895ff6d7-69be-4f35-b7ee-1bf23a2638c7"
      unitRef="usd">1279000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfOC0zLTEtMS01NjEzMA_67325884-e23e-450c-84c9-d6af123ecb44"
      unitRef="usd">1198000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfOC01LTEtMS01NjEzMA_249786fe-e2ef-435f-bc20-0e0ec3489834"
      unitRef="usd">2477000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfOC03LTEtMS01NjEzMA_9c666690-65b4-4c82-8ce0-0c3aa6d12b9b"
      unitRef="usd">4047000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfOC05LTEtMS01NjEzMA_df8e9f9d-43ac-4e3f-8472-446e0dcf5802"
      unitRef="usd">1193000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjcwYmEwOWQ4MTQxYzQ0MTdiYjlhYjQ5ODU2NzQyZGQ3L3RhYmxlcmFuZ2U6NzBiYTA5ZDgxNDFjNDQxN2JiOWFiNDk4NTY3NDJkZDdfOC0xMS0xLTEtNTYxMzA_ae596ba0-b37c-46ef-9a42-2fc328939d64"
      unitRef="usd">5240000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i40d47d2dd4e14a47bef6f0b7aeeac370_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOmMzOTg4NTZkZjRkNTRiMDNhMTIwMDdiYTc3YjBiOTg5L3RhYmxlcmFuZ2U6YzM5ODg1NmRmNGQ1NGIwM2ExMjAwN2JhNzdiMGI5ODlfMi0xLTEtMS01NjEzMA_197c19c0-981a-48cd-926b-daa9e840e61e"
      unitRef="usd">2208000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="icd9e6bc72cd24d5e8001ba1790303331_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOmMzOTg4NTZkZjRkNTRiMDNhMTIwMDdiYTc3YjBiOTg5L3RhYmxlcmFuZ2U6YzM5ODg1NmRmNGQ1NGIwM2ExMjAwN2JhNzdiMGI5ODlfMi0zLTEtMS01NjEzMA_22b1b798-a707-4fef-8e35-3fef3c3ba531"
      unitRef="usd">5047000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i5aea3f95a9d7468c8d4b3dbdd75cdc64_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOmMzOTg4NTZkZjRkNTRiMDNhMTIwMDdiYTc3YjBiOTg5L3RhYmxlcmFuZ2U6YzM5ODg1NmRmNGQ1NGIwM2ExMjAwN2JhNzdiMGI5ODlfMy0xLTEtMS01NjEzMA_61327739-2c23-4d59-89d6-d41f1dcce08c"
      unitRef="usd">269000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i4acc2224b7df43f1b261906e5603c655_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOmMzOTg4NTZkZjRkNTRiMDNhMTIwMDdiYTc3YjBiOTg5L3RhYmxlcmFuZ2U6YzM5ODg1NmRmNGQ1NGIwM2ExMjAwN2JhNzdiMGI5ODlfMy0zLTEtMS01NjEzMA_5ec7e605-32d9-4c69-9a02-1e4013da73a0"
      unitRef="usd">193000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOmMzOTg4NTZkZjRkNTRiMDNhMTIwMDdiYTc3YjBiOTg5L3RhYmxlcmFuZ2U6YzM5ODg1NmRmNGQ1NGIwM2ExMjAwN2JhNzdiMGI5ODlfNC0xLTEtMS01NjEzMA_3d2f6256-d82c-4b1e-889a-adc31715e433"
      unitRef="usd">2477000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOmMzOTg4NTZkZjRkNTRiMDNhMTIwMDdiYTc3YjBiOTg5L3RhYmxlcmFuZ2U6YzM5ODg1NmRmNGQ1NGIwM2ExMjAwN2JhNzdiMGI5ODlfNC0zLTEtMS01NjEzMA_2e84f43b-b264-4258-8d29-d2bf91000e0c"
      unitRef="usd">5240000</us-gaap:RestructuringCharges>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RleHRyZWdpb246ZTg3Yjg3ZjFlOGU0NDM0ZWI1NmQ0ZWFmMzk1OGQ1ZGVfMTczNw_7af4ef84-1808-4d17-a3e4-a8ccad14d9df">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the beginning and ending liability for exit activity costs relating to the Company&#x2019;s facility consolidation efforts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exit activity costs recognized&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(116)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,464)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfMS0xLTEtMS01NjEzMA_504d4643-e660-468f-a5f9-a11be74baded"
      unitRef="usd">272000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i46ce18a26d8e4143b9eb5e2b8bb03937_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfMS0zLTEtMS01NjEzMA_2905beb2-a6b0-4530-a5ce-7d689d46d3c6"
      unitRef="usd">1030000</us-gaap:RestructuringReserve>
    <us-gaap:BusinessExitCosts1
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfMi0xLTEtMS01NjEzMA_e2b80cb2-3f7a-4345-b94f-1e0a85d1d9c7"
      unitRef="usd">1279000</us-gaap:BusinessExitCosts1>
    <us-gaap:BusinessExitCosts1
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfMi0zLTEtMS01NjEzMA_275d633f-8996-4d31-afe7-2d8ac9217d99"
      unitRef="usd">4047000</us-gaap:BusinessExitCosts1>
    <us-gaap:PaymentsForRestructuring
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfMy0xLTEtMS01NjEzMA_53501cf7-b420-4a93-a5f5-8fe47cd6be49"
      unitRef="usd">116000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfMy0zLTEtMS01NjEzMA_29aeb9c0-cc81-4f7a-91a9-7ac10f25e04f"
      unitRef="usd">1464000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfNC0xLTEtMS01NjEzMA_d1e8db9c-4233-4bd4-89e7-08291fd3f266"
      unitRef="usd">1435000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ifbb73430dafd4a80ae620049292c3337_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83Ni9mcmFnOmU4N2I4N2YxZThlNDQzNGViNTZkNGVhZjM5NThkNWRlL3RhYmxlOjJkYWFhNTg0ZGNmYzQyNzViNTQzMzgwNTg4ZWQ3Y2JlL3RhYmxlcmFuZ2U6MmRhYWE1ODRkY2ZjNDI3NWI1NDMzODA1ODhlZDdjYmVfNC0zLTEtMS01NjEzMA_7b5c6209-e805-4910-88e5-5dac22e68ead"
      unitRef="usd">3613000</us-gaap:RestructuringReserve>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RleHRyZWdpb246MTkxZDFkZDEzYzc0NGVkMWJhYzZmNTA5NmRhZjQ3MDlfNDk4_837a7605-d2ac-4e35-bfa3-d28c349fb778">INCOME TAXES&lt;div style="margin-bottom:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the provision for income taxes for continuing operations (in thousands) for the three months ended March 31, and the applicable effective tax rates:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.076%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.918%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effective tax rate for the three months ended March&#160;31, 2022 was greater than the U.S. federal statutory rate of 21% due to state taxes and nondeductible permanent differences partially offset by favorable discrete items due to an excess tax benefit on stock-based compensation.  The effective tax rate for the three months ended March&#160;31, 2021 was less than the U.S. federal statutory rate of 21% due to favorable discrete items due to an excess tax benefit on stock-based compensation, partially offset by state taxes and nondeductible permanent differences.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RleHRyZWdpb246MTkxZDFkZDEzYzc0NGVkMWJhYzZmNTA5NmRhZjQ3MDlfNDkz_42b2bca9-0c2d-4b18-8e91-76d14d9d12f5">&lt;div style="margin-bottom:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the provision for income taxes for continuing operations (in thousands) for the three months ended March 31, and the applicable effective tax rates:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.076%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.918%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RhYmxlOjhkYWUyZTM5MGQ5YTQwNjhhYTU3Y2I1OGQ3YTNiNjg0L3RhYmxlcmFuZ2U6OGRhZTJlMzkwZDlhNDA2OGFhNTdjYjU4ZDdhM2I2ODRfMi0xLTEtMS01NjEzMA_7123fcae-1d6a-4efd-be05-7799004c7eef"
      unitRef="usd">5101000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RhYmxlOjhkYWUyZTM5MGQ5YTQwNjhhYTU3Y2I1OGQ3YTNiNjg0L3RhYmxlcmFuZ2U6OGRhZTJlMzkwZDlhNDA2OGFhNTdjYjU4ZDdhM2I2ODRfMi0zLTEtMS01NjEzMA_058f3ee7-5204-46e3-9078-5b0315ef6162"
      unitRef="usd">1560000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RhYmxlOjhkYWUyZTM5MGQ5YTQwNjhhYTU3Y2I1OGQ3YTNiNjg0L3RhYmxlcmFuZ2U6OGRhZTJlMzkwZDlhNDA2OGFhNTdjYjU4ZDdhM2I2ODRfMy0xLTEtMS01NjEzMA_326d8665-1836-4a0c-8e42-9037f97b9071"
      unitRef="number">0.248</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RhYmxlOjhkYWUyZTM5MGQ5YTQwNjhhYTU3Y2I1OGQ3YTNiNjg0L3RhYmxlcmFuZ2U6OGRhZTJlMzkwZDlhNDA2OGFhNTdjYjU4ZDdhM2I2ODRfMy0zLTEtMS01NjEzMA_6bebc2cd-abaa-4876-b48f-772255d15661"
      unitRef="number">0.129</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RleHRyZWdpb246MTkxZDFkZDEzYzc0NGVkMWJhYzZmNTA5NmRhZjQ3MDlfMzIz_6b6cd7b7-5aef-44b9-bb51-f8377e4b8d40"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl83OS9mcmFnOjE5MWQxZGQxM2M3NDRlZDFiYWM2ZjUwOTZkYWY0NzA5L3RleHRyZWdpb246MTkxZDFkZDEzYzc0NGVkMWJhYzZmNTA5NmRhZjQ3MDlfMTA5OTUxMTYyODU1MQ_1d55abbf-fd31-4852-a992-3dad69afa33c"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RleHRyZWdpb246Zjc0MDg2ODIzZmU5NDg3ZTg0MTE1M2ExZWM0ZDg4YzVfODkx_cd32f229-1b04-47fd-8c3a-eafa045768ac">EARNINGS PER SHARE&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Earnings per share and the weighted average shares outstanding used in calculating basic and diluted earnings per share are as follows for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.057%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.060%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income available to common stockholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock options and stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares and conversions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;The weighted average number of diluted shares does not include potential anti-dilutive common shares issuable pursuant to equity based incentive compensation awards. There were 54,000 shares issuable pursuant to equity based incentive compensation awards excluded from the diluted earnings per share calculation because the effect of their inclusion would be anti-dilutive for the three months ended March 31, 2022, and no shares issuable pursuant to equity based incentive compensation awards excluded from the diluted earnings calculation for the three months ended March 31, 2021.</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RleHRyZWdpb246Zjc0MDg2ODIzZmU5NDg3ZTg0MTE1M2ExZWM0ZDg4YzVfODky_9307537e-9c32-4c94-914b-77949d810e3a">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Earnings per share and the weighted average shares outstanding used in calculating basic and diluted earnings per share are as follows for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.057%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.060%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income available to common stockholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock options and stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares and conversions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfMy0xLTEtMS01NjEzMA_26e08a77-55c5-497f-9209-f16fc20eba00"
      unitRef="usd">15456000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfMy0zLTEtMS01NjEzMA_ac5ddbe5-54c3-4fc2-adb3-98a014b478df"
      unitRef="usd">10496000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfNC0xLTEtMS01NjEzMA_455c4a81-ab78-49cd-aea7-1ad2db3aefd2"
      unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfNC0zLTEtMS01NjEzMA_8741eeaa-f3ad-4f6f-90fb-bb5721e3588a"
      unitRef="usd">2266000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:NetIncomeLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfNS0xLTEtMS01NjEzMA_b3407b55-16dd-4efd-ab29-957270ce1ac8"
      unitRef="usd">15456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfNS0zLTEtMS01NjEzMA_a11d81e4-4ced-4d0e-a053-6e31439c43d7"
      unitRef="usd">12762000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfNy0xLTEtMS01NjEzMA_12ccb9ba-625f-4632-b0cb-4e3daa183698"
      unitRef="shares">32913000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfNy0zLTEtMS01NjEzMA_e20cd064-e8c8-42ea-8000-1fa99d76c625"
      unitRef="shares">32771000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfOS0xLTEtMS01NjEzMA_12ccb9ba-625f-4632-b0cb-4e3daa183698"
      unitRef="shares">32913000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfOS0zLTEtMS01NjEzMA_e20cd064-e8c8-42ea-8000-1fa99d76c625"
      unitRef="shares">32771000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfMTAtMS0xLTEtNTYxMzA_a5803e7a-532d-400c-a981-4660630c2648"
      unitRef="shares">109000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfMTAtMy0xLTEtNTYxMzA_b53ea0d0-30d9-4c61-98f9-3374dd113f5f"
      unitRef="shares">333000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfMTEtMS0xLTEtNTYxMzA_fd774d5a-6c9f-426a-94a0-cbfc48b9046e"
      unitRef="shares">33022000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RhYmxlOmZhNjFhZGY3MWFjOTRkODViOTc4MTFhZWY0OGUwNDcxL3RhYmxlcmFuZ2U6ZmE2MWFkZjcxYWM5NGQ4NWI5NzgxMWFlZjQ4ZTA0NzFfMTEtMy0xLTEtNTYxMzA_11627e91-e3d5-4903-ab7b-77355640d55c"
      unitRef="shares">33104000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id072df12760c4daeac72b78b979e836a_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RleHRyZWdpb246Zjc0MDg2ODIzZmU5NDg3ZTg0MTE1M2ExZWM0ZDg4YzVfMzI5ODUzNDg4NjQ4NQ_f8ac3f9c-1014-461a-86e2-42bdac6ab90f"
      unitRef="shares">54000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i068750d5349d40a3b98f6db57a36d67e_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84Mi9mcmFnOmY3NDA4NjgyM2ZlOTQ4N2U4NDExNTNhMWVjNGQ4OGM1L3RleHRyZWdpb246Zjc0MDg2ODIzZmU5NDg3ZTg0MTE1M2ExZWM0ZDg4YzVfMTY0OTI2NzQ0NDAzNw_308b00ee-ac5b-4c56-99cb-cc018a44dbd6"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RleHRyZWdpb246ODRhZDkyNzU1ZDY5NGEyMmJlZGIwMWNkNWUzNjhlMzNfMTY4OA_18ac163f-7322-4ba1-9220-a6d643833a91">SEGMENT INFORMATION&lt;div style="margin-bottom:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is organized into four reportable segments on the basis of the production processes, products and services provided by each segment, identified as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(i)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.12pt"&gt;Renewables, which primarily includes designing, engineering, manufacturing and installation of solar racking and electrical balance of systems;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(ii)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.9pt"&gt;Residential, which primarily includes roof and foundation ventilation products, centralized mail systems and electronic package solutions, retractable awnings and gutter guards, and rain dispersion products, trims and flashings and other accessories;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(iii)&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.68pt"&gt;Agtech, which&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; provides growing and processing solutions including the designing, engineering, manufacturing and installation of greenhouses, and botanical extraction systems; and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(iv)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.12pt"&gt;Infrastructure, which primarily includes structural bearings, expansion joints and pavement sealant for bridges, airport runways and roadways, elastomeric concrete, and bridge cable protection systems.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When determining the reportable segments, the Company aggregated operating segments based on their similar economic and operating characteristics. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates certain measurements used by management to assess performance of the segments described above for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.913%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from operations:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,984)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(521)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated Corporate Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,564)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income from operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;436,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;487,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,242,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,214,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the three months ended March 31 (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,989&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RleHRyZWdpb246ODRhZDkyNzU1ZDY5NGEyMmJlZGIwMWNkNWUzNjhlMzNfNjI_95dfba5e-f738-4b06-a04f-f4b711da8a6f"
      unitRef="segment">4</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RleHRyZWdpb246ODRhZDkyNzU1ZDY5NGEyMmJlZGIwMWNkNWUzNjhlMzNfMTcwMA_57e3058a-875f-4bf6-867c-0e3e8a635711">&lt;div style="margin-bottom:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates certain measurements used by management to assess performance of the segments described above for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.913%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from operations:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,984)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(521)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated Corporate Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,564)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income from operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;436,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;487,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,242,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,214,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="i3b4cd0409071419498c4f0ae981f99bf_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMy0xLTEtMS01NjEzMA_6e128ebe-cccc-408c-9971-13e5bdb75222"
      unitRef="usd">78783000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ib801fd74cc674a9f81a0f95d3f0c048f_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMy0zLTEtMS01NjEzMA_b551d344-0be1-4510-9276-f37ae47d34ff"
      unitRef="usd">85512000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i012e99f12b454155b90f54a8f81d8065_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNC0xLTEtMS01NjEzMA_328d7ddd-7ecc-4658-a14a-440afe13a8b8"
      unitRef="usd">179485000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i236a5838b698434eaec740fc5a9f14ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNC0zLTEtMS01NjEzMA_7a09d949-62f6-4a56-9751-f16545fb17ac"
      unitRef="usd">140217000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i6a4a56ba2ca54376bad9e07375c7872a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNS0xLTEtMS01NjEzMA_50dc83f0-69b4-47d5-a725-5c64067caed8"
      unitRef="usd">42428000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ibb4b91b599ba469eac7c0fc92b626ddd_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNS0zLTEtMS01NjEzMA_338b60f3-a0b6-4847-a79f-c1128160b464"
      unitRef="usd">46739000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="id52dad919f0a40afa07ccec2a60dbab8_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNi0xLTEtMS01NjEzMA_31fe4af1-950c-41ec-932a-4f06af6b2af5"
      unitRef="usd">17169000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="idbe51be2fd924d129d106cb4c9662aba_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNi0zLTEtMS01NjEzMA_937a36d6-11f9-4102-9b68-802bcfc30af0"
      unitRef="usd">15124000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNy0xLTEtMS01NjEzMA_b721908e-4c67-4077-b27e-1ad1e49a3af1"
      unitRef="usd">317865000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfNy0zLTEtMS01NjEzMA_8723b8a7-fb9b-4e63-8e67-818d59aa0529"
      unitRef="usd">287592000</us-gaap:Revenues>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3b4cd0409071419498c4f0ae981f99bf_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTAtMS0xLTEtNTYxMzA_59cabe4b-0d15-4bd8-8284-1582184f6f89"
      unitRef="usd">-6984000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib801fd74cc674a9f81a0f95d3f0c048f_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTAtMy0xLTEtNTYxMzA_a8f0377a-7bea-44b7-9f90-df8b10979366"
      unitRef="usd">-521000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i012e99f12b454155b90f54a8f81d8065_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTEtMS0xLTEtNTYxMzA_4667b3ac-b668-4b3b-8df6-3a30202a87c2"
      unitRef="usd">33435000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i236a5838b698434eaec740fc5a9f14ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTEtMy0xLTEtNTYxMzA_35f40ee5-6983-44a7-9b5c-17ba4b73db89"
      unitRef="usd">22934000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i6a4a56ba2ca54376bad9e07375c7872a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTItMS0xLTEtNTYxMzA_9df8994c-d699-45f7-afa5-5c54a89accb6"
      unitRef="usd">31000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ibb4b91b599ba469eac7c0fc92b626ddd_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTItMy0xLTEtNTYxMzA_b3964b79-d73e-4e0a-9369-20f14b132f85"
      unitRef="usd">929000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="id52dad919f0a40afa07ccec2a60dbab8_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTMtMS0xLTEtNTYxMzA_6f9475ca-9a0f-4fd5-8fd2-a5c6ba642ed8"
      unitRef="usd">1181000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="idbe51be2fd924d129d106cb4c9662aba_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTMtMy0xLTEtNTYxMzA_67927f50-89dd-4d08-ab78-d0c7862a9dfc"
      unitRef="usd">2037000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i875fb196b1bf4ac0948496f2bec1ee67_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTQtMS0xLTEtNTYxMzA_2398b3db-3aeb-47d0-8664-463076eb65cc"
      unitRef="usd">-6468000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1b4738782de54575adbb4615345a5776_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTQtMy0xLTEtNTYxMzA_544b03f3-6544-40b2-9474-579a0bab7101"
      unitRef="usd">-12564000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTUtMS0xLTEtNTYxMzA_3e4488d5-f1fa-4fec-a3f6-35c771ac403d"
      unitRef="usd">21195000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjQzNjJhYTM5NDEyMjQwMTU5NDljOGRjNmYyOGY2ODRhL3RhYmxlcmFuZ2U6NDM2MmFhMzk0MTIyNDAxNTk0OWM4ZGM2ZjI4ZjY4NGFfMTUtMy0xLTEtNTYxMzA_ca0982c2-3372-4f61-a561-63b128c85135"
      unitRef="usd">12815000</us-gaap:OperatingIncomeLoss>
    <us-gaap:Assets
      contextRef="idae69561659640149225af2e8788173e_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfMi0xLTEtMS01NjEzMA_52610b09-e0a0-4243-8fc5-80d4bb67dbe1"
      unitRef="usd">436054000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="iaca72df29baa48a38f39b1fb6b1fda6c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfMi0zLTEtMS01NjEzMA_f30c1bc8-87c6-4844-ab73-fe6c6e3bee65"
      unitRef="usd">445486000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i4033cfaccc9544c993d1646be882b3ca_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfMy0xLTEtMS01NjEzMA_5bfedc84-f379-4ae9-88e8-04a55f9861fc"
      unitRef="usd">487457000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i86928b2538234de5b0358e57c6b3d61d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfMy0zLTEtMS01NjEzMA_eccf2150-b37a-48ad-be7e-365533415ef8"
      unitRef="usd">453469000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i98abadda2faf4d95908fe41fc41c9677_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfNC0xLTEtMS01NjEzMA_cd2fe11e-275d-462a-8634-6ddd266a2bd2"
      unitRef="usd">214176000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i2d7c6ad253b240abbb97930723b5b355_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfNC0zLTEtMS01NjEzMA_e99054cb-9828-4040-8e18-8c48ed150ee2"
      unitRef="usd">212038000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i4d1c09dff48344b4a079701a13d2f194_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfNS0xLTEtMS01NjEzMA_d721dcf1-664c-4772-82d7-cde04d18a9ed"
      unitRef="usd">85187000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i25c4f709aecd4f4192a3c0cd3de7eac2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfNS0zLTEtMS01NjEzMA_ec0641b5-83dd-474f-9f0a-040b4f3342cf"
      unitRef="usd">82662000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ib8320e72c2094614bce66e8ac022257d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfNi0xLTEtMS01NjEzMA_346687ba-205b-4032-b022-73484d4b6fd4"
      unitRef="usd">19466000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i98583581d764430aa8d1bbec0f54c604_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfNi0zLTEtMS01NjEzMA_c34ea6fa-9147-4755-9e2b-54cad5a83ebe"
      unitRef="usd">21246000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i2167179234ef490eb6357ccdea27526f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfOC0xLTEtMS01NjEzMA_660db5af-4dc5-4897-a828-e39c3b09300f"
      unitRef="usd">1242340000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i138c5a4ed9814c75a8955d00b2156f99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmY5YzFiMzYxOWUyNzQ4NWZiYWYxYmIzZDA1NWZiNTQxL3RhYmxlcmFuZ2U6ZjljMWIzNjE5ZTI3NDg1ZmJhZjFiYjNkMDU1ZmI1NDFfOC0zLTEtMS01NjEzMA_68da6a23-4e83-457c-817f-1e28e4407093"
      unitRef="usd">1214901000</us-gaap:Assets>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RleHRyZWdpb246ODRhZDkyNzU1ZDY5NGEyMmJlZGIwMWNkNWUzNjhlMzNfMTY5Ng_5a940bab-6d4c-4fba-8bcb-824580637f71">&lt;div style="margin-bottom:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the three months ended March 31 (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.689%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,989&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:Revenues
      contextRef="if1a742c38a694e80a140e61f339dfbe3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfMy0xLTEtMS01NjEzMA_099fa95d-8b8e-496f-983d-54d00455a94a"
      unitRef="usd">5650000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i8b0b4dea3c504a758a8775492212bd66_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfMy0zLTEtMS01NjEzMA_f36a70e0-9ba6-46f2-9dbb-5234af4b211d"
      unitRef="usd">178131000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i32ff1741f5044b3e9d970bc6830ed5d6_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfMy01LTEtMS01NjEzMA_780f033d-865c-4ded-bed6-8ef4f21705c0"
      unitRef="usd">1613000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ie902a3770f7e41059bb7eb94a9b9a933_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfMy03LTEtMS01NjEzMA_85863951-8c4f-4d3d-b527-3debc2358157"
      unitRef="usd">6303000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="if712c6539d514d5d87f38ed4a7b5771c_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfMy05LTEtMS01NjEzMA_84eba018-8e32-45f9-a356-e9ff7a10a70a"
      unitRef="usd">191697000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ia66fac230b0740c68c9f50d1afb60a91_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNC0xLTEtMS01NjEzMA_c2415c81-904c-4378-bff7-6aaf7bf75825"
      unitRef="usd">73133000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ie1982ff4847e466c84595c887d602164_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNC0zLTEtMS01NjEzMA_973c3ddf-516c-4b8b-8a79-12de67e108ec"
      unitRef="usd">1354000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="if583da7b9dc445b598624f2b657b85f8_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNC01LTEtMS01NjEzMA_5687c5ad-40e2-4078-9758-065176c0b61f"
      unitRef="usd">40815000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ied323c2f1fa34e16840678188e5f1531_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNC03LTEtMS01NjEzMA_fa07b102-5475-476f-8b92-62da54d11da1"
      unitRef="usd">10866000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i9858eeb92dc34e16a94c496e3016e511_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNC05LTEtMS01NjEzMA_9b8a0e00-fd74-4e1f-b942-e37fee4424d4"
      unitRef="usd">126168000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i9ca22f2d380f40e9957b0cf7731825c0_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNS0xLTEtMS01NjEzMA_2633c457-6b38-44f3-b0f0-f4c23138bda0"
      unitRef="usd">78783000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i8f0190aaaa05403294a7b27a6ebfb08d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNS0zLTEtMS01NjEzMA_8a75e971-7824-4c6d-ac66-383c981573a9"
      unitRef="usd">179485000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ia4624d2c98c044a18ba80ccee868d10d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNS01LTEtMS01NjEzMA_5e308764-ee3c-4f0a-9826-5085b2d4470d"
      unitRef="usd">42428000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i4d905a570caa4cc0a3907146dd2213a3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNS03LTEtMS01NjEzMA_d2eb1ffc-a3fa-40c8-95e7-64f6881158cf"
      unitRef="usd">17169000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOmQwMjc0MWQ0NTQ2OTQ0YjViMzAzZTViZGJjYTI3ZWU3L3RhYmxlcmFuZ2U6ZDAyNzQxZDQ1NDY5NDRiNWIzMDNlNWJkYmNhMjdlZTdfNS05LTEtMS01NjEzMA_18b430fd-62fc-4ebf-be54-748e4164d9d9"
      unitRef="usd">317865000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i7bd22a2d21c749dda0aeae08eb5c4118_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfMy0xLTEtMS01NjEzMA_bac08c88-ef38-4a64-89e7-764b59a9eac5"
      unitRef="usd">6971000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="if80cd4eb4ac941569843d15bce4d014e_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfMy0zLTEtMS01NjEzMA_ad0ebcde-2912-41c5-8c71-3a59cc04ec55"
      unitRef="usd">139019000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ia732e9da764f47e5a0033c85e03b41bc_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfMy01LTEtMS01NjEzMA_290a3143-83db-4092-bd06-aa0a54731c03"
      unitRef="usd">5143000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i5a1df2d5b81d4c96abef8804610be6bc_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfMy03LTEtMS01NjEzMA_a6ad1348-f3fe-462d-8fad-be49e7c20605"
      unitRef="usd">5470000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0e079c061ff243229b63ca0a4b37c373_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfMy05LTEtMS01NjEzMA_6e72531e-4bbe-4242-a191-ea9c24e9a6f9"
      unitRef="usd">156603000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i62445ac2b0514db89c88d05f8bcee764_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNC0xLTEtMS01NjEzMA_ea8ba726-fdf4-4a9c-8d0c-e90a906755d4"
      unitRef="usd">78541000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ia3772e30827540209e7c3f04bfb6ad57_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNC0zLTEtMS01NjEzMA_c8c90abd-1e66-4cbc-802f-fb4546fc836b"
      unitRef="usd">1198000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i5cdcf5f6f05446d2a09819b535ef10bb_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNC01LTEtMS01NjEzMA_8fa0da69-46bb-43fb-b1ac-b5d4ae75b18c"
      unitRef="usd">41596000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i20fe46b3951247669424eb51442d3e3e_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNC03LTEtMS01NjEzMA_1a7445b2-41d6-4bc8-ad9e-a6067a1d887c"
      unitRef="usd">9654000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic44697947f644c18878bc63929c6e4d1_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNC05LTEtMS01NjEzMA_24d29295-723b-4165-95bb-f6528d6347fe"
      unitRef="usd">130989000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i88cc4d7617d04ec1a0c36c66defda7a7_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNS0xLTEtMS01NjEzMA_8b80c70e-56f1-41d3-b287-184002d97db5"
      unitRef="usd">85512000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i27e03da40a9f49dfbd2c96c8ddf12268_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNS0zLTEtMS01NjEzMA_249461d8-e168-40a7-b56f-d5439d102468"
      unitRef="usd">140217000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i69d7f6dbe7f140d792dddb226fa26570_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNS01LTEtMS01NjEzMA_8bfe0e7f-85b9-44d4-9415-b7bc757ae513"
      unitRef="usd">46739000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i44f566e1df0e4e3b8d2d24b1ba59627c_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNS03LTEtMS01NjEzMA_e3465b63-3df0-4c9d-93bb-831f9d62366c"
      unitRef="usd">15124000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i141ee502b8be4400a6bfba36f2a745ff_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl84NS9mcmFnOjg0YWQ5Mjc1NWQ2OTRhMjJiZWRiMDFjZDVlMzY4ZTMzL3RhYmxlOjU5ZTQzYjE4ODkwNjRkM2U5ZjI2YTQ0MmVhOWVlZjFmL3RhYmxlcmFuZ2U6NTllNDNiMTg4OTA2NGQzZTlmMjZhNDQyZWE5ZWVmMWZfNS05LTEtMS01NjEzMA_02795ed8-c5cd-476a-9881-394a5c587675"
      unitRef="usd">287592000</us-gaap:Revenues>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="icceeda861eea46aa875f621d47056534_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xMjAxL2ZyYWc6MDFhZjMxNGFjNDY0NGVjZDk4MmRiNTRiNDRjMDg2NzQvdGV4dHJlZ2lvbjowMWFmMzE0YWM0NjQ0ZWNkOTgyZGI1NGI0NGMwODY3NF8yNzQ4Nzc5MDcwOTMx_af0f22c5-07cb-4345-b2e4-63a9269b25fc">SUBSEQUENT EVENTSIn May 2022, the Company's Board of Directors authorized a share repurchase program of up to $200&#160;million of the Company's issued and outstanding common stock. The program has a duration of three years, ending May 2, 2025. Repurchases may be made, from time to time, in amounts and at prices the Company deems appropriate, subject to market conditions, applicable legal requirements, debt covenants and other considerations. Any such repurchases may be executed using open market purchases, privately negotiated agreements or other transactions. The repurchase program may be suspended or discontinued at any time at the Company's discretion. The Company has not made repurchases under the repurchase program to date.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="i868d0ab06f414502958f6b6d06d3f02d_I20220504"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xMjAxL2ZyYWc6MDFhZjMxNGFjNDY0NGVjZDk4MmRiNTRiNDRjMDg2NzQvdGV4dHJlZ2lvbjowMWFmMzE0YWM0NjQ0ZWNkOTgyZGI1NGI0NGMwODY3NF8yNzQ4Nzc5MDcwOTE4_15275726-dc97-451e-bf37-21f25bdc46fb"
      unitRef="shares">200000000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:StockRepurchaseProgramPeriodInForce1
      contextRef="i9b369500833d4cf3b8135f58022d1d3d_D20220501-20220504"
      id="id3VybDovL2RvY3MudjEvZG9jOmI4OWJjMDI1MjNkNjRlNWVhYWY5Zjc5ODM2M2I1Mzk2L3NlYzpiODliYzAyNTIzZDY0ZTVlYWFmOWY3OTgzNjNiNTM5Nl8xMjAxL2ZyYWc6MDFhZjMxNGFjNDY0NGVjZDk4MmRiNTRiNDRjMDg2NzQvdGV4dHJlZ2lvbjowMWFmMzE0YWM0NjQ0ZWNkOTgyZGI1NGI0NGMwODY3NF8yNzQ4Nzc5MDcwOTM2_293fae32-5d1f-4c21-8b71-24276646888b">P3Y</us-gaap:StockRepurchaseProgramPeriodInForce1>
</xbrl>
