<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:fstr="http://www.lbfoster.com/20230331"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="fstr-20230331.xsd" xlink:type="simple"/>
    <context id="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia48d8b28de4c458aaf7df4a174fc2a37_I20230502">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2023-05-02</instant>
        </period>
    </context>
    <context id="id6663316f78349588622c6997f0c313e_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie1c2cdd5771541dfa97546b5614c9de8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i614256ff21d143ff9161299913689012_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5e2140f4daba486faa961667018e6901_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia194bc89639f47f087d63938eb52302b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i722a0b4fd96245ab9a5604f944559543_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i2500da59067a4a39b175006cce527670_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i73613682dc7148d180fcdbb711b61711_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i806368a7b9384d6aae47d8eac0727052_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id038c49e070045bf9c9722abeda72b57_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i961f0b3610b84340a168dae3831dfe56_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie4a52661715f4f7f8ea5742e9f5f1ade_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i693c761b19954f1cb0fb796dd1a58dbd_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i71d552ee7d204d159090fc1ae4650a84_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i41fc9a80ff23446c8cd8f3935f99d238_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="iaa8244821b5443efa2770dada15b74bf_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i19118010f43f497abbc8c4c6f49e9324_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i784641f6bf9e48b2a8605839ca99b29b_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3025a2879a5543c3843d37b5b12f7460_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3f5e6b29ee4a4b99932730d73fe80ccb_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i20291ebd1c474492a38ece518d3edd7b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="ifef8a7457d994496a3dd1a5b94413286_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="ic35f62d81548427dbfb19a135ab0bb48_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i92606788db2049e49d231fe0f32ef4ac_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i45c2efb2119a4fa98912837554524cee_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="ib951f8feda1146c0b0ff1996dd008323_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i44278c22cf334863abf4d50d14f3fa0a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i68fce446d71446f887705cfa272b6413_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i40166a9b46b0464ba05c103dcea4226a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i932d61a8e49c4eb98a731af3aa6c5823_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i47c5b14b2d134db0a9cc1a28bc5befc5_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i2774810522164dfb8adb02292441ae3c_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i77e7d99f2c70481ea4117b1377cb7e63_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i7b89bd49df8149138a911d6a8363885c_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="ic25c2d702acf4eddb55bfc483e4d52b8_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i63ee87255a134aabb66a281410efd393_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iad9aa66948aa427d8733b61886370a14_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i77148bffd1ea4576b1b6e887e23424bc_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5986c6e926704a0ba31da1ad5ecc5c3f_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3afa9c615a3142e1a8a7c8dff349f77a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i09cd8128a9504543a004d58ccfda78e4_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6aeed06cd3b04bd490e7b53b07a716b9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia0cf33c60ff748a5bbc634597665f4fe_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6284dcf0a94a48c99cee07ee2561a00d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:ChemtecEnergyServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-30</startDate>
            <endDate>2023-03-30</endDate>
        </period>
    </context>
    <context id="ib94c3af616a84d688d59809b47cda372_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsAndFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia19cda2506014897802590110f2d12fd_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailProductsAndFrictionManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i79937a4eb83c438c8d6f0c11e3340123_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i1237302f3f4a45e9a3821bf180c0ef4d_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:RailTechnologiesProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i960a969405844740a78873698dd0f09b_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i02800169134b4ec0a44706d408b19b03_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:PrecastConcreteBuildingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i62ce50a3f4b043a28e1a023c5703dd2f_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:PrecastConcreteBuildingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i7540d8806fd749128acf5902a0be579f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:OtherPrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="id54de3a85e05410d9c0e8951baf9e018_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:OtherPrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i3c55b66d69de4416888b170a4fd95d33_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:FabricatedSteelProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i947da1668daa4cdc899b0ee88de8941d_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:FabricatedSteelProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib92ed0acb0fb41d2aac66ead59e99158_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:CoatingsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iceba75f290ed4f58b02e3257b2ac1210_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fstr:CoatingsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="icd1e825cbfff461daf46fce9ae8bc863_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i06d0c940c4a841e590927db26c2be641_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i6e1d58aa46dc45e0a65e59e6ae15bb2d_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia76ad66a0e9b4464be835910057fe869_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i0621169fa7d6423094498cf4ae9d93e0_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iae36f7c70f8541ad986de03cddc33c54_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i1fc7b50db6154316add0343bae356a81_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i89be361d231e4d7dbbde73db2b522641_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iacb73dd5aa4d483089b98c8ec12c3e48_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</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="i333358b784b84c89a82799025e8651ad_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</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="ia1abd8ec82d141f7ab9b9f4ca5367855_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</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="iea0603a402c942d697a8ec7716ff1a79_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i4d9f8e472d5c4ae886d5f24587d6a79c_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</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="i0c6d856d1b3b4557b24fe95643741d99_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</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="i67978491d5c14be1ae5b27de44babdfc_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</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="i840a9b2ccb4d4b989784d89055559faf_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="i03021627e1314018906c28d49517d677_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeInputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i6818ad645a3143f382643610e175fa1a_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">fstr:OverTimeOutputMethodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ief32642424144d36965f51c37266b30c_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i9d1963d8f99f4c88bdc3b1ffcb15a81d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ib982b325025147d8937e9c42e08beada_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic48ec56bf9ea48849e90aee9dab15592_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="icb921d9a7bc04c09adbfa0e15199ca24_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:RailTechnologiesAndServicesSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ic0620249071b4026a5bb6680dad2d666_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:PrecastConcreteProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i80e024ba38d24d678c483b9b75733d8b_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fstr:SteelProductsAndMeasurementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="iac8139cc0acb40c5b3fb2886ae2ec15e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i4e359afd1af14febad47fadba2ac3194_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="id3d5112c26a34b6f9b8d7bd74f403358_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i251e12ea961741bb926c8abd8f8bfd16_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if61b03d68ac84182ac693fc961957d3a_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1e320e688e0b4df39bf87960b68d58b4_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7f017986cffe44aa813259ea5df1fa93_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i078ed6f96c474800a1c57166f75718db_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5fd770d28c82409c94bb16312fef49b0_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i2841959fd84a4b48b32f0cb84989b6de_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i942ff27f7b874755bfb4f3c628384984_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i17d8aae57327493eb914b7095d2a49cc_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i7b5ded240cd54584a0edb9037849fc5c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i17b4d5dfd5ba4d36971bf6a5b718294c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia8040277b6404366936bf09a061070e8_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i464ff039fc88406d808d104214c145c3_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7a6a48d68fcd41c7adb286c806f8c565_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i14547eea555841b682acff4b937b4814_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6ff42532b9ad488691876c7faca08a00_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia192fe5493fb461788270535d4bb2e57_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="id97e4a3602394c758c8cb04049b42bfa_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OffMarketFavorableLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if2b81add6d61480eb72836ee31510df6_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ice04d81f07234651b69d44a0cd7cab27_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id1ee7d2f61844c62906cd9688b062537_D20210813-20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-13</startDate>
            <endDate>2021-08-13</endDate>
        </period>
    </context>
    <context id="i0d4fc034211c401baeabdf76b2a17083_I20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="i4cc8eae28bc84027955c7169814b3709_D20210813-20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:PriorCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-13</startDate>
            <endDate>2021-08-13</endDate>
        </period>
    </context>
    <context id="i5cad199d02584d47ba947b483e0c5e33_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="iec946c377c0f4c5db11cfaa6335f6a6a_I20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="i0656019163c8485b830309ab3dedde3d_I20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="i23eb32e78fb84b219632afb41e17c9b1_I20210813">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fstr:FourthAmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-13</instant>
        </period>
    </context>
    <context id="id0a992b75b7e481f8bd6f04e94c9df5f_I20220812">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2022-08-12</instant>
        </period>
    </context>
    <context id="ie5924391378a4b42afddf688f200d930_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">fstr:PNCBankNACitizensBankNAWellsFargoBankNationalAssociationBankOfAmericaNAAndBMOHarrisBankNationalAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ieeccf59c4d014c0f9e6a4516f735c154_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ic4d5d2dce02f4d9980504110fc5589ca_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</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="ifabcba39527245f1bba3fda32a7b2c1e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ib5db3a3c79d94af3be08dd365100beb8_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i31d5bc270ba642a3bcfeae8665897c82_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3054a345d5fc4baeb4f71cc2da4fc7ef_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5912913655b04663a88c211af18eab5f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i73845e2921ae4bbbb49b64bf6906cfd1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ic1c82693c60f4c23b3e9d8a4006cf4fb_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1ddb3375b8c34e8d9fc1ceb1a32c1e78_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fstr:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1fc16b9c4dfd49ffb6d93d0601eb035d_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ib568587e419145de9b541b247ee12e38_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie5ddf6053f394068a0ee439574d279d0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ifd149e76690146fa8aee324769f1fc61_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6491aaeade364f539409a05361d2685e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia5ebb139ce8e4e77b16ffb1cf78f6195_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5a07a79a93c94edbabc309d9ec9ace8e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:SwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i8f48b19afaf0482797a80675aac94512_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i03aaeb010a994532b372833fdbda117a_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i8b23aea0f1804af6bc31cee106d39ff2_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fstr:UPRRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i6ccdd48888be4d76b22f81276d84307c_I20190313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fstr:UPRRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-13</instant>
        </period>
    </context>
    <context id="i2901e860fe3b44048e366c92e31ac929_D20190313-20190313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fstr:UPRRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-13</startDate>
            <endDate>2019-03-13</endDate>
        </period>
    </context>
    <context id="i88a60ef531c44caeb3094fe0a0f1d324_I20190313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:UprrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-13</instant>
        </period>
    </context>
    <context id="i9efa7996f27a4a84b08c787505291a52_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">fstr:UprrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="if9631e06a9af44149a25f259886981f3_I20170605">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2017-06-05</instant>
        </period>
    </context>
    <context id="i29c0c6abf606419989d3a89721acf83e_I20200326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000352825</identifier>
        </entity>
        <period>
            <instant>2020-03-26</instant>
        </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="number">
        <measure>pure</measure>
    </unit>
    <unit id="covenant">
        <measure>fstr:covenant</measure>
    </unit>
    <unit id="plan">
        <measure>fstr:plan</measure>
    </unit>
    <unit id="company">
        <measure>fstr:company</measure>
    </unit>
    <unit id="potentially_responsible_party">
        <measure>fstr:potentially_responsible_party</measure>
    </unit>
    <unit id="party">
        <measure>fstr:party</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV8yLTEtMS0xLTEyNTkzMw_24027f0b-899d-45d4-b366-7818e398fe21">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV8zLTEtMS0xLTEyNTkzMw_d4f60a5e-02ee-4896-bce3-13acbec77025">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV80LTEtMS0xLTEyNTkzMw_7188894c-4168-4c3a-9351-57954a6e20d8">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV81LTEtMS0xLTEyNTkzMw_fcb49b8c-9020-4e52-8433-54b7b6da6090">0000352825</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80L2ZyYWc6NzFmOGE3ZTJjZjFkNDc3OTljOWQ2YWU5NDkzMzg2MDYvdGFibGU6MmNiZDU1ODYyN2E2NDc2Zjg1MjRkMzYxOTU5NmY5N2UvdGFibGVyYW5nZToyY2JkNTU4NjI3YTY0NzZmODUyNGQzNjE5NTk2Zjk3ZV82LTEtMS0xLTEyNTkzMw_d17c50da-39cf-4090-9e98-9abee30dc3f8">--12-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ief32642424144d36965f51c37266b30c_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80Ni9mcmFnOmJjNzBhOTYzOTdmYTRkODY4YjRhMjM3MzhlZDkyOWQ4L3RhYmxlOmI2ZjVhZGZhZmUyZTQxZGFiNDNmZmE0ZmIwZDE1NDE0L3RhYmxlcmFuZ2U6YjZmNWFkZmFmZTJlNDFkYWI0M2ZmYTRmYjBkMTU0MTRfMS0xLTEtMS0xMjU5MzM_28814060-80ab-425c-b48a-2013f8c0a889">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <dei:DocumentType
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV84MA_821d3e7a-b16e-4fd5-9be9-c531c19edb68">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Yjc2OWI4NGQwMjM2NDJjNmFiYTRkZTA4MmNmOTdhOGEvdGFibGVyYW5nZTpiNzY5Yjg0ZDAyMzY0MmM2YWJhNGRlMDgyY2Y5N2E4YV8wLTAtMS0xLTEyNTkzMw_d32f8f58-22c4-4f0e-b530-847ed014b4a5">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xMjc_93e09dff-7f5c-4a7b-a1e8-4a8dc9b2c43b">2023-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6ZTkyYWJhMTk0ZjM1NDllM2FhNGE0MjhlZGU0NzYxMWIvdGFibGVyYW5nZTplOTJhYmExOTRmMzU0OWUzYWE0YTQyOGVkZTQ3NjExYl8wLTAtMS0xLTEyNTkzMw_8df6cfa0-238b-4abb-98dc-c04ee2d80ac4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU4_b1496758-8c9c-416c-8f11-61389db8704b">000-10436</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YjhkNzA5ZGE1ZmVlNDU5ZDgwZWI3MWI4NmM1ZDRjNjQvdGFibGVyYW5nZTpiOGQ3MDlkYTVmZWU0NTlkODBlYjcxYjg2YzVkNGM2NF8xLTAtMS0xLTEyNTkzMw_cc40b686-f7dd-491c-ae86-a76d0f1da411">L.B. Foster Company</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Zjg4MmZjZjE1ZWFmNDBlOWI0OWViYjk3ZjZkZDhlYjIvdGFibGVyYW5nZTpmODgyZmNmMTVlYWY0MGU5YjQ5ZWJiOTdmNmRkOGViMl8wLTAtMS0xLTEyNTkzMw_f4963750-c591-4bf6-8d3c-7209fb48bb81">PA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6Zjg4MmZjZjE1ZWFmNDBlOWI0OWViYjk3ZjZkZDhlYjIvdGFibGVyYW5nZTpmODgyZmNmMTVlYWY0MGU5YjQ5ZWJiOTdmNmRkOGViMl8wLTItMS0xLTEyNTkzMw_011c98a5-d468-49d7-973c-a70dd3e8ce93">25-1324733</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzQ_5420bb7c-28b9-4d6a-a3c7-bf2d0769f02e">415 Holiday Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1Xzg_ea74f5b9-1a72-4971-9997-d6dccd181c93">Suite 100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzEy_0f649b16-4d18-4d3d-bd08-5b4fa603a09b">Pittsburgh</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTAtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOjVhM2Q0MGQ5Mjg0ZDQ0YjI5YzI5OGMwYzViYTJjNTI1XzE2_c6a134ed-2335-4300-912e-7248e2eafe80">PA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6YTE3MjNjYmRmOWFmNDA4ZWE0ZmJlODViZmVkZDE1ZTMvdGFibGVyYW5nZTphMTcyM2NiZGY5YWY0MDhlYTRmYmU4NWJmZWRkMTVlM18wLTItMS0xLTEyNTkzMw_98ae3146-25f2-4b78-bf70-6973a4d42bc3">15220</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODUz_958ce3b5-f48e-4ff7-8e25-3af53f25b9bf">412</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU0_3b46686b-8d64-49a2-a5b8-94e3084bfc30">928-3400</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTAtMS0xLTEyNTkzMw_73c1ab6b-0d4b-4c1a-b33e-044c0dbba049">Common Stock, par value $0.01</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTItMS0xLTEyNTkzMw_15d6a814-9125-4628-8773-10ecfe8d336e">FSTR</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MjUyOTM0OTRkZGUzNDQ5YmJkMzY4Y2ZjZTUzMjE3MjYvdGFibGVyYW5nZToyNTI5MzQ5NGRkZTM0NDliYmQzNjhjZmNlNTMyMTcyNl8yLTQtMS0xLTEyNTkzMw_090dcf7a-46cd-4dbf-9a38-ea20448a624f">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU1_d24b10c9-b0c1-41d9-bc43-59c8486f8a70">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xODU2_9dd13df6-6eb6-4df3-a240-e568057472ee">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8wLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmE5YTE1NWM0ODBkNDQzM2RiNmRjMDEwOTYzZWJmNTQ1XzU_4f698bf4-5f30-4ed1-bad4-3ac7d0d11d4c">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8xLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmJjZDJhNWRlYjVlNzQ0YzNiMDk5YTk4NGE4Y2IzNTc4XzMx_744cdf61-0c49-4df6-9f28-324ff4125128">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGFibGU6MzEyYTI5MjEwYzJkNDA5YzkxYWYxZGNkMTM5NTRjOWEvdGFibGVyYW5nZTozMTJhMjkyMTBjMmQ0MDljOTFhZjFkY2QxMzk1NGM5YV8yLTQtMS0xLTEyNTkzMy90ZXh0cmVnaW9uOmNhNThmNDAwNDJiZjQ5OGNhNjc1ZjQ2OTc2NmFlYzc5XzI4_6bab6f49-419b-4f06-854a-77f20dbf1ee8">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xNzQ1_a5856408-c96d-40e0-95c4-eea9fb98bb6a">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ia48d8b28de4c458aaf7df4a174fc2a37_I20230502"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xL2ZyYWc6NThkNzliYzMwMzI1NDQ3OTljZjNiZTA3OTRmZDBlNTkvdGV4dHJlZ2lvbjo1OGQ3OWJjMzAzMjU0NDc5OWNmM2JlMDc5NGZkMGU1OV8xNzcw_08b7e481-f8f2-4632-8072-327030b50f35"
      unitRef="shares">11085149</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNC0yLTEtMS0xMjU5MzM_a2f1926c-3f21-4e86-91fe-9b129014d721"
      unitRef="usd">2639000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNC00LTEtMS0xMjU5MzM_70976c36-95a7-4dd1-9835-71d66042fa7b"
      unitRef="usd">2882000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsNotesAndLoansReceivableNetCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNS0yLTEtMS0xMjU5MzM_7168137c-8165-4376-84d3-c1b28e372430"
      unitRef="usd">54904000</us-gaap:AccountsNotesAndLoansReceivableNetCurrent>
    <us-gaap:AccountsNotesAndLoansReceivableNetCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNS00LTEtMS0xMjU5MzM_943e72b0-7d05-4e29-b43f-b3f42fd24a9c"
      unitRef="usd">82455000</us-gaap:AccountsNotesAndLoansReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNi0yLTEtMS0xMjU5MzM_04b078b1-9972-4948-96d5-cac03f99b7aa"
      unitRef="usd">31207000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNi00LTEtMS0xMjU5MzM_c8dafd06-86d1-4c59-905a-3f99eb09430f"
      unitRef="usd">33613000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:InventoryNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNy0yLTEtMS0xMjU5MzM_ea433497-c144-4010-bbf0-4b33f237dbfc"
      unitRef="usd">84594000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNy00LTEtMS0xMjU5MzM_25706b01-c55e-40ba-8d98-057b9e95b98e"
      unitRef="usd">75721000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTAtMi0xLTEtMTI1OTMz_4e0e9ac7-2ea4-44e3-8db2-7995e8234af6"
      unitRef="usd">11844000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTAtNC0xLTEtMTI1OTMz_16b16ebb-b431-46e5-9cdd-57f88020cc98"
      unitRef="usd">11061000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTItMi0xLTEtMTI1OTMz_96b641b1-4a40-4de7-a094-247473ef7b65"
      unitRef="usd">185188000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTItNC0xLTEtMTI1OTMz_aa6c32ed-e56f-4c30-a716-eb3bd985a23a"
      unitRef="usd">205732000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTMtMi0xLTEtMTI1OTMz_490ba03d-9cb3-47c4-97fc-b06e6af206ba"
      unitRef="usd">78960000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTMtNC0xLTEtMTI1OTMz_89f39062-6434-46bc-9c2b-7acdff08b948"
      unitRef="usd">85344000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTQtMi0xLTEtMTI1OTMz_58b168ba-1a37-4e29-a12e-0351a384b044"
      unitRef="usd">16513000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTQtNC0xLTEtMTI1OTMz_57e936e3-911b-4d76-ac7e-d43faf9c49a4"
      unitRef="usd">17291000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTYtMi0xLTEtMTI1OTMz_4ec3deba-c0d9-4b52-bfbe-0a439254f2eb"
      unitRef="usd">30863000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTYtNC0xLTEtMTI1OTMz_b0f67fa0-2b6d-4c09-a7de-f72a17069a01"
      unitRef="usd">30733000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTctMi0xLTEtMTI1OTMz_8a88e3fb-e98f-4a3e-978d-8889fb8ccea6"
      unitRef="usd">22549000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTctNC0xLTEtMTI1OTMz_0a8531a7-98ce-4a95-9e47-89c6ac3510b9"
      unitRef="usd">23831000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTktMi0xLTEtMTI1OTMz_c01345af-1199-4871-9fb7-3c774c94d180"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMTktNC0xLTEtMTI1OTMz_a24b05ab-ca3a-40df-b420-d6a7a9ea77b4"
      unitRef="usd">24000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjAtMi0xLTEtMTI1OTMz_148e73b1-91dc-498e-ad33-7f2605f2f9c0"
      unitRef="usd">2305000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjAtNC0xLTEtMTI1OTMz_446ee490-a98b-4e09-bbe5-1f58ea59cb80"
      unitRef="usd">2355000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjItMi0xLTEtMTI1OTMz_03a83d6f-8602-44ab-887a-f8c30874f604"
      unitRef="usd">336378000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjItNC0xLTEtMTI1OTMz_1a085371-7b91-4e8a-8d6e-9f8d68799915"
      unitRef="usd">365310000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjUtMi0xLTEtMTI1OTMz_d4669801-f7f4-4336-846d-6729ce1d2d63"
      unitRef="usd">48553000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjUtNC0xLTEtMTI1OTMz_5bd9cdc6-9f9b-4aae-9296-d428f0478248"
      unitRef="usd">48782000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjYtMi0xLTEtMTI1OTMz_2e48ad2f-39fb-4af0-ba9e-7b24a56a875d"
      unitRef="usd">14556000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjYtNC0xLTEtMTI1OTMz_2ecd1f76-7f30-4598-8985-695e25da1088"
      unitRef="usd">19452000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjctMi0xLTEtMTI1OTMz_86e81f37-15e1-4090-b711-3b40914426f3"
      unitRef="usd">4176000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjctNC0xLTEtMTI1OTMz_0b249a7d-fd29-4d22-be3f-a5fa989a30d1"
      unitRef="usd">10558000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <fstr:AccruedLegalSettlementCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjktMi0xLTEtMTI1OTMz_70397c11-4fcc-4c73-bc8c-ef9e5eaebb08"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementCurrent>
    <fstr:AccruedLegalSettlementCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMjktNC0xLTEtMTI1OTMz_6867b392-0346-41ec-9d68-218b0be7462b"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzAtMi0xLTEtMTI1OTMz_a3cb8bb4-3bfd-40fa-8723-85be4da9e7e6"
      unitRef="usd">117000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzAtNC0xLTEtMTI1OTMz_79ad1dd9-9aa0-4cff-9329-9b022ee3b4a0"
      unitRef="usd">127000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzEtMi0xLTEtMTI1OTMz_81cd2ca9-bf29-44b0-95ef-ce3d2f5b6c59"
      unitRef="usd">13100000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzEtNC0xLTEtMTI1OTMz_c7bc2855-994e-454d-b272-d3fce66373fb"
      unitRef="usd">16192000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzMtMi0xLTEtMTI1OTMz_73d71222-bd58-4316-b5e4-9b3e57338465"
      unitRef="usd">88502000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzMtNC0xLTEtMTI1OTMz_3b1f0c1d-bf26-4d87-88dd-53111722a318"
      unitRef="usd">103111000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzQtMi0xLTEtMTI1OTMz_99822b4c-a007-49c1-ad8a-07d8fc476c90"
      unitRef="usd">79979000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzQtNC0xLTEtMTI1OTMz_804022f6-f442-4fd9-9bf0-44273a50a0de"
      unitRef="usd">91752000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzUtMi0xLTEtMTI1OTMz_b49a649b-8f1c-44ae-b7c6-6d671909a905"
      unitRef="usd">1753000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzUtNC0xLTEtMTI1OTMz_2a689d4c-17a2-4bb1-9623-f337294dcf6d"
      unitRef="usd">3109000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <fstr:AccruedLegalSettlementNonCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzYtMi0xLTEtMTI1OTMz_3ebb66d9-9386-4326-b50b-01c719e19e17"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementNonCurrent>
    <fstr:AccruedLegalSettlementNonCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzYtNC0xLTEtMTI1OTMz_3c93d85a-4c0f-4b32-b7de-aaf9b225a15e"
      unitRef="usd">8000000</fstr:AccruedLegalSettlementNonCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzctMi0xLTEtMTI1OTMz_b68686ee-9820-4fb4-a7db-1a12b956aab1"
      unitRef="usd">13416000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzctNC0xLTEtMTI1OTMz_eaef0626-4e7b-4a1b-8884-29daec5fa244"
      unitRef="usd">14163000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzgtMi0xLTEtMTI1OTMz_f3f86b93-4914-487e-964b-0263cf5f8612"
      unitRef="usd">7714000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfMzgtNC0xLTEtMTI1OTMz_bb93ff88-048b-44e7-89b9-f865bd388782"
      unitRef="usd">7577000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMjg_450bc6e9-f571-429f-9823-58bebcc43466"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMjg_b96f9ea6-9b66-41c9-bac5-5c8f93ec3bfb"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfNDM_456f7218-8512-4920-b151-7b1c87338025"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfNDM_ccb1063e-d00a-4d6c-ac5a-3286ffc5bc2a"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfODI_2c7325c2-ebda-4950-ad20-f61b87007eb4"
      unitRef="shares">11115779</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfODI_ac8647ce-1fad-4579-a858-9f2d88ec0f64"
      unitRef="shares">11115779</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMTE5_178557cb-7ec0-4429-bb7c-35b2152c1b91"
      unitRef="shares">10809711</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246NWE3MDE3M2NmYjQ3NDYzZDliYTFhMGQ5MWIxNmMyZDNfMTI2_934c6855-7d41-484d-a09d-6a1cfed683e7"
      unitRef="shares">10776827</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtMi0xLTEtMTI1OTMz_f6133f6e-31a8-4311-8e3c-b9d0fc884900"
      unitRef="usd">111000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDEtNC0xLTEtMTI1OTMz_5c64032f-453f-484d-a161-3a04be86c0a7"
      unitRef="usd">111000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDItMi0xLTEtMTI1OTMz_02286a03-72ef-4f0f-a5eb-a60385dc9a2e"
      unitRef="usd">40951000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDItNC0xLTEtMTI1OTMz_b627f570-6940-4a18-85a3-269569cec7c9"
      unitRef="usd">41303000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDMtMi0xLTEtMTI1OTMz_71fa57ca-bcbc-43f8-9e95-c04e5cb5600c"
      unitRef="usd">121017000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDMtNC0xLTEtMTI1OTMz_4b78071d-bb46-4baf-8eef-76ca83954db5"
      unitRef="usd">123169000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246MmRhZWU3Yzk5NDVlNGY1NmExYmNjNTYwNGI4N2RjNDNfMzA_7de95022-7925-4c29-97d6-64920fa34069"
      unitRef="shares">306068</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246MmRhZWU3Yzk5NDVlNGY1NmExYmNjNTYwNGI4N2RjNDNfMzc_d6171b1c-b1b6-4282-875c-06d159870488"
      unitRef="shares">338952</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtMi0xLTEtMTI1OTMz_ecf52945-feda-489f-93aa-64076e739659"
      unitRef="usd">5174000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDQtNC0xLTEtMTI1OTMz_be4a2490-12ae-4c3a-a1fd-aec5ee8f7d92"
      unitRef="usd">6240000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDUtMi0xLTEtMTI1OTMz_d278aa6a-1e71-4f49-9a36-5d70d8d00f0b"
      unitRef="usd">-20296000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDUtNC0xLTEtMTI1OTMz_9300daec-5546-40b5-bf2d-780ae47d2c05"
      unitRef="usd">-21165000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDYtMi0xLTEtMTI1OTMz_7f5d7d9d-01db-4821-9196-af4ae3be86c3"
      unitRef="usd">136609000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDYtNC0xLTEtMTI1OTMz_347858cd-5d62-47e8-9a41-935107bbb95e"
      unitRef="usd">137178000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDctMi0xLTEtMTI1OTMz_a1e06d04-0371-4f56-8905-8e5374ff7f29"
      unitRef="usd">405000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDctNC0xLTEtMTI1OTMz_da8e833d-d17f-448b-b86a-952a1cc373cb"
      unitRef="usd">420000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDgtMi0xLTEtMTI1OTMz_4e850cbc-05b3-4cec-8179-7c724bd8b0e7"
      unitRef="usd">137014000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDgtNC0xLTEtMTI1OTMz_2b8aaf80-971a-47d4-9eb4-c1d920770198"
      unitRef="usd">137598000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDktMi0xLTEtMTI1OTMz_21b67028-90b1-4669-af52-3329ea88fcf3"
      unitRef="usd">336378000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xNi9mcmFnOjRmYjY0ZDg2NjYxYzRlZWI4ZTEzZGQ1NTA0MjIzZmJjL3RhYmxlOjA5NGIzZGE0OTQ1MDQwMGRiN2E2ODAwODNhMzQ2NWNlL3RhYmxlcmFuZ2U6MDk0YjNkYTQ5NDUwNDAwZGI3YTY4MDA4M2EzNDY1Y2VfNDktNC0xLTEtMTI1OTMz_78469786-606a-4c6a-a84e-92555b06a9d7"
      unitRef="usd">365310000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i614256ff21d143ff9161299913689012_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNC02LTEtMS0xMjU5MzM_1edc02a7-bc30-4dc7-9469-7512246b1d34"
      unitRef="usd">98538000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNC04LTEtMS0xMjU5MzM_21da705c-7e8d-4f31-9dd8-ea17a02fa858"
      unitRef="usd">84421000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNS02LTEtMS0xMjU5MzM_eaee29eb-f743-4347-9325-de3ead30bc03"
      unitRef="usd">16950000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i5e2140f4daba486faa961667018e6901_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNS04LTEtMS0xMjU5MzM_1056dfec-6e14-4703-aaba-10a7a66a16ec"
      unitRef="usd">14373000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNi02LTEtMS0xMjU5MzM_ab33cc88-8612-4b01-b5eb-b2b89d65be2f"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNi04LTEtMS0xMjU5MzM_81ae24a3-b774-4739-95ab-46ab28229ffa"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="i614256ff21d143ff9161299913689012_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNy02LTEtMS0xMjU5MzM_0bd6a6d6-fbe9-4dc7-b1f9-04116b3932e3"
      unitRef="usd">78065000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i4198bc87dce7460aa47ca8a0186306d7_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfNy04LTEtMS0xMjU5MzM_075a0dfb-cd76-4dc3-9ba6-e285152ae323"
      unitRef="usd">69845000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i94babb9dd01f462489668c76126a9d0f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOC02LTEtMS0xMjU5MzM_3e87d363-a4b5-4a42-957b-04a4ca25ed23"
      unitRef="usd">14132000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i5e2140f4daba486faa961667018e6901_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOC04LTEtMS0xMjU5MzM_e695ebf4-cc9f-4376-bc6b-1f2d5d2e60c2"
      unitRef="usd">12502000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOS02LTEtMS0xMjU5MzM_467bf55f-0927-4590-9cf4-4839f5d68c3a"
      unitRef="usd">92197000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfOS04LTEtMS0xMjU5MzM_ec3a8b08-5365-4311-ab12-930947d97666"
      unitRef="usd">82347000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTAtNi0xLTEtMTI1OTMz_0f31efe5-9870-4bec-b567-5b9aa0682c9a"
      unitRef="usd">23291000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTAtOC0xLTEtMTI1OTMz_96bda7ed-b8c3-4afc-a83a-07f105c085e9"
      unitRef="usd">16447000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTEtNi0xLTEtMTI1OTMz_2aebe852-9a24-49e8-b03c-f515e3fdf042"
      unitRef="usd">21423000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTEtOC0xLTEtMTI1OTMz_55c7386a-8374-4125-a0ec-849bda1cf6e4"
      unitRef="usd">17298000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTItNi0xLTEtMTI1OTMz_d9145e95-6279-4a65-8f2e-74e288e41d5a"
      unitRef="usd">1365000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTItOC0xLTEtMTI1OTMz_8bfe6797-75a7-49e4-90b4-d062e262e2b2"
      unitRef="usd">1436000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTMtNi0xLTEtMTI1OTMz_49ce0479-2c82-44f5-88fd-d4b03c81150c"
      unitRef="usd">503000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTMtOC0xLTEtMTI1OTMz_23528e3b-0acc-485c-a3b2-10631b69b7cd"
      unitRef="usd">-2287000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTUtNi0xLTEtMTI1OTMz_62043eaa-117d-4b6e-abfe-699148be0e2e"
      unitRef="usd">1388000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTUtOC0xLTEtMTI1OTMz_c63fc8e9-1edb-4ee4-a9e3-c9e7e74e7c3a"
      unitRef="usd">370000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTgtNi0xLTEtMTI1OTMz_80dc4f28-a641-4fd4-b447-a5eb740392ad"
      unitRef="usd">-1827000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMTgtOC0xLTEtMTI1OTMz_dc5be114-1f2d-48e7-b710-eb338741e1b6"
      unitRef="usd">563000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjAtNi0xLTEtMTI1OTMz_eb674a11-8ef4-49d2-8b1f-4ffcc1496484"
      unitRef="usd">-2712000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjAtOC0xLTEtMTI1OTMz_c8b2f3ea-8666-4d1f-9f11-db1517e31b62"
      unitRef="usd">-2094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjEtNi0xLTEtMTI1OTMz_aa750ff4-319e-4cde-b786-ba7195eec3b6"
      unitRef="usd">-541000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjEtOC0xLTEtMTI1OTMz_4b39de8a-ea94-4487-accb-07b6f410ecef"
      unitRef="usd">-508000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjItNi0xLTEtMTI1OTMz_10f22834-a386-475f-ac05-a0cff44391f6"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjItOC0xLTEtMTI1OTMz_39bb19c3-d402-4297-9ed0-38264a6b5bc7"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjMtNi0xLTEtMTI1OTMz_d343a09e-d99d-48c9-8062-27576b6c0ee4"
      unitRef="usd">-19000</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjMtOC0xLTEtMTI1OTMz_862ad018-4282-46ab-afa5-c86b3b8feed0"
      unitRef="usd">-20000</us-gaap:IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity>
    <us-gaap:NetIncomeLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjktNi0xLTEtMTI1OTMz_885cb651-ebe1-4fb6-9889-4bd8d719a5af"
      unitRef="usd">-2152000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMjktOC0xLTEtMTI1OTMz_483fd94d-a404-4aba-9593-42b19baeefdf"
      unitRef="usd">-1566000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzMtNi0xLTEtMTI1OTMz_c4e50bb4-bbda-45af-8ba6-00ae25beac12"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzMtOC0xLTEtMTI1OTMz_50507e96-5ff9-4a8b-94cb-2af15eb89158"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzctNi0xLTEtMTI1OTMz_688ae7c0-f026-482f-a862-7745a833b6db"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8xOS9mcmFnOjlkNTZlY2JiMDJiNzRhN2VhMWRiODg5YmVhNmY1MzIwL3RhYmxlOjgxOTEzNzI2NTEyMDRjNTk4OTFjNmY0ODc5ZDdkMWQ1L3RhYmxlcmFuZ2U6ODE5MTM3MjY1MTIwNGM1OTg5MWM2ZjQ4NzlkN2QxZDVfMzctOC0xLTEtMTI1OTMz_05b9e4b5-c614-4fbc-8ab9-9a020de05dd9"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNC02LTEtMS0xMjU5MzM_c63ef15e-be6d-476d-8f57-075b946058df"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNC04LTEtMS0xMjU5MzM_5023cfa1-a4a4-48ce-ba33-907889ba5a30"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNi02LTEtMS0xMjU5MzM_1db16d3b-a71b-4512-aea7-a23713a4a11c"
      unitRef="usd">1247000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNi04LTEtMS0xMjU5MzM_d74754a6-724d-4b56-905c-e429715b0d92"
      unitRef="usd">-880000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowZjlhNmI4YmE1OTg0NjhiYTQwMGIxOTIxNmEzYjMyMF84MA_b83bfc1c-f36f-4382-9adc-11139c6498a4"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowZjlhNmI4YmE1OTg0NjhiYTQwMGIxOTIxNmEzYjMyMF84NA_17916940-282f-4661-b8bd-655b16c3c997"
      unitRef="usd">-188000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy02LTEtMS0xMjU5MzM_fd37b2fb-ccda-4580-9a98-579a5e915a43"
      unitRef="usd">-418000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfNy04LTEtMS0xMjU5MzM_b9ea9758-33b1-413a-bb2d-2569ade4a78a"
      unitRef="usd">551000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjo2ZDNiY2ZlNzkxNTY0MWJmODFlNGZjM2IwZjczNzYwZF82OQ_44055c11-41fd-48a0-99fd-d6d4fd415f5a"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjo2ZDNiY2ZlNzkxNTY0MWJmODFlNGZjM2IwZjczNzYwZF83Mw_7a125b8f-dba9-48de-8dd2-2b32b0b9c5c6"
      unitRef="usd">-66000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC02LTEtMS0xMjU5MzM_62ea1f2a-1945-47da-8352-c47e1ebc439b"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOC04LTEtMS0xMjU5MzM_30df9e27-54f1-49af-83cf-1819daec0aed"
      unitRef="usd">-93000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowYTA3OTllOTg0ZGI0MTM4YWQ5ZjZlMmNkZmExMTEzZV84OQ_b0c0d152-7f53-425e-a060-559d2fcf6dbf"
      unitRef="usd">2000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS0wLTEtMS0xMjU5MzMvdGV4dHJlZ2lvbjowYTA3OTllOTg0ZGI0MTM4YWQ5ZjZlMmNkZmExMTEzZV8xMDU_8181b15b-247f-48f9-bd0d-9f4ccd3366a6"
      unitRef="usd">16000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
      unitRef="usd">40000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
      unitRef="usd">49000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTAtNi0xLTEtMTI1OTMz_a4406d43-b9e4-4dc8-be49-0d8c3d99fdd8"
      unitRef="usd">-1302000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTAtOC0xLTEtMTI1OTMz_13e196c1-9a34-4506-888e-7255c1de9c62"
      unitRef="usd">-1773000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTItNi0xLTEtMTI1OTMz_17bc74c3-b5c8-4bf5-925a-639d7cd50c1f"
      unitRef="usd">-19000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTItOC0xLTEtMTI1OTMz_7093195e-f9b9-42c2-88c7-92b1a4e2ba50"
      unitRef="usd">-20000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTMtNi0xLTEtMTI1OTMz_083d80fd-a97b-45d6-835a-4b4e46c3403c"
      unitRef="usd">4000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTMtOC0xLTEtMTI1OTMz_7b3fd98c-64b5-4528-b884-13a5fea8bab0"
      unitRef="usd">85000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTQtNi0xLTEtMTI1OTMz_cdaf82b0-57ae-4459-81da-fc4d29c5288e"
      unitRef="usd">-15000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTQtOC0xLTEtMTI1OTMz_9e854887-247e-414c-8b1a-252a15121576"
      unitRef="usd">65000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTUtNi0xLTEtMTI1OTMz_c07448ca-3068-40a4-b8c8-3ef609789d97"
      unitRef="usd">-1287000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfMTUtOC0xLTEtMTI1OTMz_66508706-7b7e-4931-85c3-45808c05953f"
      unitRef="usd">-1838000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNS0yLTEtMS0xMjU5MzM_8432b240-7097-4c44-a252-4938f85b1840"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNS00LTEtMS0xMjU5MzM_281e4d57-236b-4933-9552-a33184ad7c2a"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNy0yLTEtMS0xMjU5MzM_38bebdf0-caca-4683-a3ef-15a19c1086be"
      unitRef="usd">-1233000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNy00LTEtMS0xMjU5MzM_c0a57048-ef57-4009-a515-82bb5eebbc06"
      unitRef="usd">-574000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:Depreciation
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOC0yLTEtMS0xMjU5MzM_7f83a7af-1220-4bf7-8d5a-473dcc30d8a4"
      unitRef="usd">2505000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOC00LTEtMS0xMjU5MzM_6c273e65-7bf2-41fd-9783-39cdc53f5073"
      unitRef="usd">1938000</us-gaap:Depreciation>
    <us-gaap:AdjustmentForAmortization
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOS0yLTEtMS0xMjU5MzM_2400d6d9-3a52-4da8-94a7-00e7aeb4e8d4"
      unitRef="usd">1365000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfOS00LTEtMS0xMjU5MzM_3c1b8de8-f77a-4c1f-ac5a-1434327d9731"
      unitRef="usd">1436000</us-gaap:AdjustmentForAmortization>
    <fstr:EquityLossIncomeAndRemeasurementGain
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTEtMi0xLTEtMTI1OTMz_031835b1-2306-434d-a2b1-2793cc8a62e7"
      unitRef="usd">-17000</fstr:EquityLossIncomeAndRemeasurementGain>
    <fstr:EquityLossIncomeAndRemeasurementGain
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTEtNC0xLTEtMTI1OTMz_60989198-26c6-4cc7-94b7-035a337ac84a"
      unitRef="usd">-87000</fstr:EquityLossIncomeAndRemeasurementGain>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTItMi0xLTEtMTI1OTMz_b19cef28-d93b-4d36-a023-27f9fe854e1e"
      unitRef="usd">14000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTItNC0xLTEtMTI1OTMz_ed9e965d-e98e-459d-b9ca-1523d7651f30"
      unitRef="usd">-23000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:ShareBasedCompensation
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTMtMi0xLTEtMTI1OTMz_f1da0c2e-97fb-41a1-8f41-a3022c10df5e"
      unitRef="usd">884000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTMtNC0xLTEtMTI1OTMz_ef6158c3-5bac-4716-90b1-e1e7b23f9782"
      unitRef="usd">258000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTQtMi0xLTEtMTI1OTMz_6208cf6c-0f1c-4686-b6de-7e7d9625e08a"
      unitRef="usd">-2033000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTQtNC0xLTEtMTI1OTMz_1bb0bf4f-0a77-4463-be7c-f8a7d638aedb"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTctMi0xLTEtMTI1OTMz_f01f7e3f-47a6-428a-9024-fce3e4184d73"
      unitRef="usd">-26239000</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTctNC0xLTEtMTI1OTMz_1a92f70a-e1ff-492c-a746-5d377956f9a4"
      unitRef="usd">4556000</us-gaap:IncreaseDecreaseInAccountsAndOtherReceivables>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTgtMi0xLTEtMTI1OTMz_95e28656-2e65-4cbc-bb7a-9745f1001bdf"
      unitRef="usd">860000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTgtNC0xLTEtMTI1OTMz_4f4d368c-e7d4-4bf2-a8cf-0a5d33397def"
      unitRef="usd">-1116000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTktMi0xLTEtMTI1OTMz_e653d332-0260-420f-be85-70874f736316"
      unitRef="usd">15564000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMTktNC0xLTEtMTI1OTMz_a46e9d20-06e0-4ae6-9686-4de08d4c01ac"
      unitRef="usd">4781000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjAtMi0xLTEtMTI1OTMz_b879e4ff-01f7-4be6-8395-70f28b8b7846"
      unitRef="usd">791000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjAtNC0xLTEtMTI1OTMz_b0510b61-5c94-4305-b91e-1c523ffd0ff2"
      unitRef="usd">4648000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjItMi0xLTEtMTI1OTMz_0260d84d-a5e8-445a-8cda-4bd3ed3c5446"
      unitRef="usd">1439000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjItNC0xLTEtMTI1OTMz_c60bb3cc-87a9-4bd5-a30d-62f9cbc064ba"
      unitRef="usd">-818000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjQtMi0xLTEtMTI1OTMz_c78d60fd-a10f-4f59-9a87-0ce43e5a7eac"
      unitRef="usd">4921000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjQtNC0xLTEtMTI1OTMz_6a3846d4-4049-4cbd-afaa-e1ecce462c0e"
      unitRef="usd">4680000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjUtMi0xLTEtMTI1OTMz_ccc2ec95-75b5-4891-83e6-868ac17d6578"
      unitRef="usd">-707000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjUtNC0xLTEtMTI1OTMz_a50281d1-38b9-4c0a-b166-cd786bf2febe"
      unitRef="usd">5907000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjYtMi0xLTEtMTI1OTMz_9ad7d617-6646-4a16-bf20-7153ce44b740"
      unitRef="usd">-6386000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjYtNC0xLTEtMTI1OTMz_ffb17cd4-08e0-4161-be05-d49993ab7b3b"
      unitRef="usd">-4181000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjgtMi0xLTEtMTI1OTMz_6e83d098-5e4e-48f0-836e-eabb46965dd9"
      unitRef="usd">-2981000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjgtNC0xLTEtMTI1OTMz_21cf9a6b-6484-423b-82c8-ada12f613b9f"
      unitRef="usd">-2377000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjktMi0xLTEtMTI1OTMz_59c1ab25-6285-4cd9-b019-a0afb5874fd7"
      unitRef="usd">1148000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMjktNC0xLTEtMTI1OTMz_602a7483-8aeb-496c-9b0a-80cb322de05c"
      unitRef="usd">-1022000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzAtMi0xLTEtMTI1OTMz_0ecee228-ae4f-4b18-bedc-d0d91bbe8cc7"
      unitRef="usd">6932000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzAtNC0xLTEtMTI1OTMz_161fbe8e-7796-4e30-a9ae-deafce257993"
      unitRef="usd">-7636000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzMtMi0xLTEtMTI1OTMz_ee37bb3e-4c48-4016-8c0b-f23d1373ca45"
      unitRef="usd">16000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzMtNC0xLTEtMTI1OTMz_ece247f7-3b68-4738-bf64-3aed9136e37d"
      unitRef="usd">30000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzQtMi0xLTEtMTI1OTMz_b014859d-ef4e-421e-a839-a2ecdb7f85f5"
      unitRef="usd">699000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzQtNC0xLTEtMTI1OTMz_444f9b87-5907-4217-82bb-56548b8c543c"
      unitRef="usd">1764000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzUtMi0xLTEtMTI1OTMz_12b79a35-b4b9-40b5-89d1-c5043f7e8b58"
      unitRef="usd">5344000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzUtNC0xLTEtMTI1OTMz_97d2589d-31ae-453c-ad2a-58fd133a5112"
      unitRef="usd">1195000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzctMi0xLTEtMTI1OTMz_7f76034b-4849-4728-b8dc-c94686ded4c0"
      unitRef="usd">4661000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfMzctNC0xLTEtMTI1OTMz_f6ef7114-a62b-472a-a4db-5bc0478d98aa"
      unitRef="usd">-539000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDAtMi0xLTEtMTI1OTMz_1b682bce-e249-48e1-8e27-6e850d50b3ba"
      unitRef="usd">55133000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDAtNC0xLTEtMTI1OTMz_14387d40-ea2b-4a36-bfda-c7ba71544ab4"
      unitRef="usd">30892000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDEtMi0xLTEtMTI1OTMz_98d67cad-49b6-40f7-91d3-81aaa8445ee6"
      unitRef="usd">43086000</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDEtNC0xLTEtMTI1OTMz_6f967ce6-7cf0-41ec-a50b-acf91e8daead"
      unitRef="usd">35301000</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDUtMi0xLTEtMTI1OTMz_162ae613-9eed-45f2-9e2c-6996fc5c2b4a"
      unitRef="usd">309000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDUtNC0xLTEtMTI1OTMz_9c40ca6f-86d0-40a7-b7dc-3796dfcfb4e3"
      unitRef="usd">397000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDctMi0xLTEtMTI1OTMz_272d7857-1fde-44e9-aa14-05efe02ed07c"
      unitRef="usd">334000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDctNC0xLTEtMTI1OTMz_c53b8680-4ff3-4680-b70a-ce80791e6930"
      unitRef="usd">0</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDgtMi0xLTEtMTI1OTMz_5cab6b6b-7c41-429f-b90b-2e1a0f696d96"
      unitRef="usd">-12022000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNDgtNC0xLTEtMTI1OTMz_db6c41a5-cb67-435b-8e3e-8b73b6ff674b"
      unitRef="usd">4012000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTAtMi0xLTEtMTI1OTMz_3fe71a95-9b43-403f-9a51-68600af92439"
      unitRef="usd">186000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTAtNC0xLTEtMTI1OTMz_d9d9c1f9-d22c-489b-80dc-99cf23c54e14"
      unitRef="usd">30000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTEtMi0xLTEtMTI1OTMz_80b2a001-2f35-4317-a954-6094118c3d64"
      unitRef="usd">-243000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTEtNC0xLTEtMTI1OTMz_035b680b-8f2a-4212-a9d5-7827adc2fbea"
      unitRef="usd">-4133000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTItMi0xLTEtMTI1OTMz_86148c6f-bb4b-48b9-970c-6c20db68f0e4"
      unitRef="usd">2882000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia194bc89639f47f087d63938eb52302b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTItNC0xLTEtMTI1OTMz_531b4e09-d142-485a-ab54-ed65fafb25e4"
      unitRef="usd">10372000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTMtMi0xLTEtMTI1OTMz_1228b826-ffcc-499a-b694-559d56fff33f"
      unitRef="usd">2639000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i722a0b4fd96245ab9a5604f944559543_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTMtNC0xLTEtMTI1OTMz_4b8535aa-44fd-4f39-9f04-c641556b25d1"
      unitRef="usd">6239000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTUtMi0xLTEtMTI1OTMz_8aeecc4d-bb2c-4b43-a393-16c2670362f5"
      unitRef="usd">1425000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTUtNC0xLTEtMTI1OTMz_d547a96d-f19d-40ce-96cc-e15b5a7e0204"
      unitRef="usd">369000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTYtMi0xLTEtMTI1OTMz_12649fbf-feeb-4f1d-ae7e-6161c2bd9049"
      unitRef="usd">-1564000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yNS9mcmFnOjNjMDFkZTEyOGJjODQwMWNhNDdiNWUwYzc3OTdkZTgyL3RhYmxlOjJiODI0ZDg5YjcwNjQzZWI5MDU1ZjY3YjM2NDU2MWY0L3RhYmxlcmFuZ2U6MmI4MjRkODliNzA2NDNlYjkwNTVmNjdiMzY0NTYxZjRfNTYtNC0xLTEtMTI1OTMz_3fe90156-5aee-4232-9d40-3078a7aa54d0"
      unitRef="usd">-44000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i2500da59067a4a39b175006cce527670_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0yLTEtMS0xMjU5MzM_a874c66e-dc1d-41ea-b70e-ff0b0a1abf02"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i73613682dc7148d180fcdbb711b61711_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi00LTEtMS0xMjU5MzM_634c2b38-d718-4ebc-aeb5-80201f30da40"
      unitRef="usd">41303000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i806368a7b9384d6aae47d8eac0727052_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi02LTEtMS0xMjU5MzM_0b2072c3-4087-4691-98fe-4c3ae3a27f94"
      unitRef="usd">123169000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id038c49e070045bf9c9722abeda72b57_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi04LTEtMS0xMjU5MzM_7b32f9c9-e112-4f2a-a2e7-9abc0dab7c88"
      unitRef="usd">-6240000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i961f0b3610b84340a168dae3831dfe56_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xMC0xLTEtMTI1OTMz_8393ac18-c8a9-4643-87fc-b900bac93d19"
      unitRef="usd">-21165000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie4a52661715f4f7f8ea5742e9f5f1ade_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xMi0xLTEtMTI1OTMz_bfa11829-8775-40cc-98d9-1a39f8ebc6d9"
      unitRef="usd">420000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMi0xNC0xLTEtMTI1OTMz_16b1e7e9-973a-4cd1-965e-2e21461d52a0"
      unitRef="usd">137598000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i693c761b19954f1cb0fb796dd1a58dbd_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC02LTEtMS0xMjU5MzM_8d429331-2938-4777-b40b-adb81076da9d"
      unitRef="usd">-2152000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC0xMi0xLTEtMTI1OTMz_1b4b92c6-78f5-4165-8bc3-73248eb9896c"
      unitRef="usd">-19000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNC0xNC0xLTEtMTI1OTMz_ef306fca-483c-443d-b6a2-30e179ace1a8"
      unitRef="usd">-2171000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNi0xMC0xLTEtMTI1OTMz_138d5693-ae79-44b1-ae14-453d540d6123"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNi0xNC0xLTEtMTI1OTMz_2e651f3a-93a1-47fd-8458-8b3422b202c5"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xMC0xLTEtMTI1OTMz_94906c59-8f96-4eb5-adc9-a7e31e9ada0c"
      unitRef="usd">1247000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i7eefec48aded40dba8e3578f0bf4ee35_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xMi0xLTEtMTI1OTMz_fa9d50b8-057a-4aca-a0a9-9150f1dd169e"
      unitRef="usd">4000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfNy0xNC0xLTEtMTI1OTMz_c45a0d36-364a-4863-8c54-a813794f0cef"
      unitRef="usd">1251000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="ifc290a685e094711ae1f69154b545fc8_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfOC0xMC0xLTEtMTI1OTMz_a2664a53-d289-488c-a03d-06baa5c3172e"
      unitRef="usd">-418000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfOC0xNC0xLTEtMTI1OTMz_83493fc7-f59f-450c-80c3-aefd27aec38f"
      unitRef="usd">-418000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246YTNkMmY1NmM5NzVmNDdkMWEwMzYzZmU4NjBmMjBiMTlfMTY_64191002-0bff-402f-973e-c0ddfe278a75"
      unitRef="shares">32884</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtNC0xLTEtMTI1OTMz_7fd80753-73d6-45e3-8c66-edfe6cdafe7f"
      unitRef="usd">-1236000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i71d552ee7d204d159090fc1ae4650a84_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtOC0xLTEtMTI1OTMz_2d43da1d-aa7f-407b-8f87-74fd856efe12"
      unitRef="usd">1066000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTEtMTQtMS0xLTEyNTkzMw_c97eef7a-39be-4c86-b1ab-d89345c85e0e"
      unitRef="usd">-170000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i36a1b6b8a07149f49152caad08f54bc9_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTItNC0xLTEtMTI1OTMz_7a7e2885-b5f7-480d-b5c1-47f84ebcff65"
      unitRef="usd">884000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTItMTQtMS0xLTEyNTkzMw_92b67c1a-b187-403f-9c88-b04ec2c2c37a"
      unitRef="usd">884000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i41fc9a80ff23446c8cd8f3935f99d238_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMi0xLTEtMTI1OTMz_5ca43822-49e3-4cf5-8f33-9a126b6b8e56"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iaa8244821b5443efa2770dada15b74bf_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtNC0xLTEtMTI1OTMz_1f1465b2-1b69-41b2-804c-724a49454a24"
      unitRef="usd">40951000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i19118010f43f497abbc8c4c6f49e9324_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtNi0xLTEtMTI1OTMz_eea9e94e-d68d-4120-b6d5-ca154dcc6865"
      unitRef="usd">121017000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i784641f6bf9e48b2a8605839ca99b29b_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtOC0xLTEtMTI1OTMz_b5fc924e-de2c-4c09-9c97-a77c84c3dfe6"
      unitRef="usd">-5174000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3025a2879a5543c3843d37b5b12f7460_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTAtMS0xLTEyNTkzMw_529be3e7-daad-45e7-ba73-383238a2df63"
      unitRef="usd">-20296000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3f5e6b29ee4a4b99932730d73fe80ccb_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTItMS0xLTEyNTkzMw_306d1f90-9000-4b4b-857f-8c3c8acee6cd"
      unitRef="usd">405000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOmU3NmQ2NDQwOWM3YTQ1NGJiOTJmYjljNzllZDg5YmU5L3RhYmxlcmFuZ2U6ZTc2ZDY0NDA5YzdhNDU0YmI5MmZiOWM3OWVkODliZTlfMTUtMTQtMS0xLTEyNTkzMw_995a83ac-a35a-4d4a-980a-89e2647ca4b9"
      unitRef="usd">137014000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i20291ebd1c474492a38ece518d3edd7b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0yLTEtMS0xMjU5MzM_3721c479-e451-4122-b2bd-effb58726116"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ifef8a7457d994496a3dd1a5b94413286_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi00LTEtMS0xMjU5MzM_de142e12-3c58-478a-aec8-d51447012dd7"
      unitRef="usd">43272000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic35f62d81548427dbfb19a135ab0bb48_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi02LTEtMS0xMjU5MzM_536c5246-49fe-48fa-b9a7-3bb8b09c0e65"
      unitRef="usd">168733000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i92606788db2049e49d231fe0f32ef4ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi04LTEtMS0xMjU5MzM_2337c846-a9cc-4c8e-be15-08dcdfe9ea7e"
      unitRef="usd">-10179000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i45c2efb2119a4fa98912837554524cee_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xMC0xLTEtMTI1OTMz_899e5e41-bad1-43be-8e6b-63ccea5c0982"
      unitRef="usd">-18845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ib951f8feda1146c0b0ff1996dd008323_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xMi0xLTEtMTI1OTMz_96909d01-d890-462f-a214-43e8ef5c3a13"
      unitRef="usd">518000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia194bc89639f47f087d63938eb52302b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMi0xNC0xLTEtMTI1OTMz_72fb2a29-5efb-43b3-9bc2-424996e6dd78"
      unitRef="usd">183610000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i44278c22cf334863abf4d50d14f3fa0a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC02LTEtMS0xMjU5MzM_9ff1c276-6a69-4eb6-b1f9-2779cd26d820"
      unitRef="usd">-1566000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC0xMi0xLTEtMTI1OTMz_de60c591-7201-4736-80db-0e9415a514f8"
      unitRef="usd">-20000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNC0xNC0xLTEtMTI1OTMz_0a9ceed0-9763-44ae-81d1-06c34eb2796f"
      unitRef="usd">-1586000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNi0xMC0xLTEtMTI1OTMz_a5ba36c7-afd7-4ba2-9914-ca030c43c92f"
      unitRef="usd">-49000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNi0xNC0xLTEtMTI1OTMz_9a3017aa-017c-4831-9d91-42d055051038"
      unitRef="usd">-49000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xMC0xLTEtMTI1OTMz_245dd491-2b29-4750-98cd-46073a60d501"
      unitRef="usd">-965000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i0d7c7b6f6e6b44f4aa02e5a1e5543adb_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xMi0xLTEtMTI1OTMz_b4a61290-62e1-410c-913a-30744d4749ba"
      unitRef="usd">85000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfNy0xNC0xLTEtMTI1OTMz_6a0bb0ee-af50-4546-bd8b-7073d6056431"
      unitRef="usd">-880000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOC0xMC0xLTEtMTI1OTMz_4ebd6cf0-8a84-484c-8de1-11dc108eab09"
      unitRef="usd">551000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOC0xNC0xLTEtMTI1OTMz_20ec39eb-46ff-4b76-be25-b1cbc079a214"
      unitRef="usd">551000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i68fce446d71446f887705cfa272b6413_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOS0xMC0xLTEtMTI1OTMz_313d9fa0-3b4c-43b4-be3a-d7b591c9e50e"
      unitRef="usd">-93000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfOS0xNC0xLTEtMTI1OTMz_32f290d7-624c-47ed-800a-5d12ca906f87"
      unitRef="usd">-93000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtMC0xLTEtMTI1OTMzL3RleHRyZWdpb246ZDFhNzYyZGVlNzA4NDU4MjkxZDQxYzU2ZTIxYzY2ZGFfMTY_4aab81de-2c0c-4972-9282-85bb6aa90869"
      unitRef="shares">34440</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtNC0xLTEtMTI1OTMz_f902b294-2400-464f-8691-2d58991e6e79"
      unitRef="usd">-1377000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i40166a9b46b0464ba05c103dcea4226a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtOC0xLTEtMTI1OTMz_bc5882aa-6bfb-4564-98e9-4d401405901b"
      unitRef="usd">979000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTEtMTQtMS0xLTEyNTkzMw_7d891bfa-ec94-4fa8-926d-8f59b9dc91d8"
      unitRef="usd">-398000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4c68b85fd26e4297ac030bf1299134f3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTItNC0xLTEtMTI1OTMz_2e054656-a39f-41b0-9909-5ea388781398"
      unitRef="usd">258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTItMTQtMS0xLTEyNTkzMw_d624a0e0-d9e7-40a1-88ea-acf191806c1f"
      unitRef="usd">258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i932d61a8e49c4eb98a731af3aa6c5823_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMi0xLTEtMTI1OTMz_dc84928a-6142-48dd-b543-047ce70a3764"
      unitRef="usd">111000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i47c5b14b2d134db0a9cc1a28bc5befc5_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtNC0xLTEtMTI1OTMz_205c43ca-f52b-47c5-8ce5-89077521e63f"
      unitRef="usd">42153000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i2774810522164dfb8adb02292441ae3c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtNi0xLTEtMTI1OTMz_dcffcd6b-5e68-4206-bacf-2628a2f100c9"
      unitRef="usd">167167000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i77e7d99f2c70481ea4117b1377cb7e63_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtOC0xLTEtMTI1OTMz_196f7f21-2f2e-47ca-8596-0112a435d37c"
      unitRef="usd">-9200000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7b89bd49df8149138a911d6a8363885c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTAtMS0xLTEyNTkzMw_c13a1eaa-b4ff-4b73-9339-da9bb5935fdb"
      unitRef="usd">-19117000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic25c2d702acf4eddb55bfc483e4d52b8_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTItMS0xLTEyNTkzMw_c17fbde3-ba97-4779-80f2-641956805883"
      unitRef="usd">583000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i722a0b4fd96245ab9a5604f944559543_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yOC9mcmFnOmYzZjEzODU3MGRjNDQwZWFiMjY3OTY0YTk1MmY4NjVlL3RhYmxlOjExM2QwOTJiM2VkNjRlNGJhY2ZhYWU3ZWMzNzQyMmFhL3RhYmxlcmFuZ2U6MTEzZDA5MmIzZWQ2NGU0YmFjZmFhZTdlYzM3NDIyYWFfMTUtMTQtMS0xLTEyNTkzMw_9269c56e-0716-4859-8788-8adc171098e4"
      unitRef="usd">181697000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNC9mcmFnOjNmZGFhMDUwYTE2NjRjY2JhNWU2OTM5OGU0OTZjMzQyL3RleHRyZWdpb246M2ZkYWEwNTBhMTY2NGNjYmE1ZTY5Mzk4ZTQ5NmMzNDJfMzQyNA_17ca3f96-68d0-414c-97ec-acc0c704b1bd">Financial StatementsBasis of PresentationThe accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) for interim financial information and with the instructions to Form 10-Q and Article&#160;8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three months ended March 31, 2023 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2023. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2022. In this Quarterly Report on Form&#160;10-Q, references to &#x201c;we,&#x201d; &#x201c;us,&#x201d; &#x201c;our,&#x201d; and the &#x201c;Company&#x201d; refer collectively to L.B. Foster Company and its consolidated subsidiaries.</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNC9mcmFnOjNmZGFhMDUwYTE2NjRjY2JhNWU2OTM5OGU0OTZjMzQyL3RleHRyZWdpb246M2ZkYWEwNTBhMTY2NGNjYmE1ZTY5Mzk4ZTQ5NmMzNDJfMzQyMA_5cc3ba91-a8df-4231-b68b-fd4dc2029ff3">Basis of PresentationThe accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) for interim financial information and with the instructions to Form 10-Q and Article&#160;8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for complete financial statements. The year-end consolidated balance sheet data was derived from audited financial statements, but does not include all disclosures required by GAAP. In the opinion of management, all estimates and adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included. Operating results for the three months ended March 31, 2023 are not necessarily indicative of the results that may be expected for the year ending December&#160;31, 2023. This Quarterly Report on Form 10-Q should be read in conjunction with the consolidated financial statements and footnotes thereto included in L.B. Foster Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2022. In this Quarterly Report on Form&#160;10-Q, references to &#x201c;we,&#x201d; &#x201c;us,&#x201d; &#x201c;our,&#x201d; and the &#x201c;Company&#x201d; refer collectively to L.B. Foster Company and its consolidated subsidiaries.</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4NA_57cab69d-aae4-4d33-9fc6-1287cb66bbd7">Business Segments &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is a global technology solutions provider of engineered, manufactured products and services that builds and supports infrastructure. The Company&#x2019;s innovative engineering and product development solutions address the safety, reliability, and performance needs of its customers&#x2019; most challenging requirements. The Company maintains locations in North America, South America, Europe, and Asia. The Company&#x2019;s segments represent components of the Company (a) that engage in activities from which revenue is generated and expenses are incurred, (b) whose operating results are regularly reviewed by the Chief Operating Decision Maker, who uses such information to make decisions about resources to be allocated to the segments, and (c) for which discrete financial information is available. Operating segments are evaluated on their segment profit contribution to the Company&#x2019;s consolidated results. Other income and expenses, interest, income taxes, and certain other items are managed on a consolidated basis. The Company&#x2019;s segment accounting policies are described in Note 2 Business Segments of the Notes to the Company&#x2019;s Consolidated Financial Statements contained in its Annual Report on Form 10-K for the year ended December&#160;31, 2022.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The operating results of the Company's reportable segments were as follows for the periods presented:&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:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31, 2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="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:'Times New Roman',sans-serif;font-size:8pt;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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&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:'Times New Roman',sans-serif;font-size:8pt;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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,388&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,039&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(348)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(791)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,148)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&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;/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;/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;/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;/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;/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;/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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment profit (loss) from operations, as shown above, includes allocated corporate operating expenses. Operating expenses related to corporate headquarter functions that directly support the segment activity are allocated based on segment headcount, revenue contribution, or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of reportable segment net profit (loss) to the Company&#x2019;s consolidated total for the periods presented:&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:75.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating profit (loss) for reportable segments&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense - 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,388)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(370)&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other (expense) income - 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,827)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses and other unallocated charges&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,529)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(387)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,712)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,094)&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates assets of the Company by reportable segment for the periods presented:&lt;/span&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;163,001&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,111&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,581&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,598&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,236&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,516&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,560&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336,378&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365,310&#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&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 30, 2023, the Company sold substantially all the operating assets of its Chemtec Energy Services LLC business (&#x201c;Chemtec&#x201d;) for $5,344 in proceeds, subject to final working capital adjustments, generating a $2,033 loss on sale, recorded in &#x201c;Other expense (income) - net.&#x201d; The Chemtec business was reported in the Coatings and Measurement business unit within the Steel Products and Measurement segment.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4Ng_f40a6600-936e-4b35-843d-9d131622727f">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The operating results of the Company's reportable segments were as follows for the periods presented:&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:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;March 31, 2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="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:'Times New Roman',sans-serif;font-size:8pt;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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&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:'Times New Roman',sans-serif;font-size:8pt;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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Segment Operating Profit (Loss)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,388&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,039&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(348)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(791)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,148)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&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;/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;/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;/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;/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;/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;/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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi0yLTEtMS0xMjU5MzM_3255a70a-3a74-4f23-b5ba-ea1bc21a455c"
      unitRef="usd">64384000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifa0b48dd2bc7409ca76aea36aafbd2d7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi00LTEtMS0xMjU5MzM_831efe82-23a5-4398-b1b0-2fd5d96a083d"
      unitRef="usd">2388000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi02LTEtMS0xMjU5MzM_4e6df599-1b2c-4c8f-a4ed-43e6e3f65ae6"
      unitRef="usd">63710000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i53722501839e49f9a60a6e9776224bb4_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMi04LTEtMS0xMjU5MzM_02294a3d-011d-4680-92ec-7c40b5b25a34"
      unitRef="usd">1039000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy0yLTEtMS0xMjU5MzM_41296780-edf4-49d7-b772-f24fe2a998fe"
      unitRef="usd">24288000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="iccf137614bf6448ba2b5e0df302f370c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy00LTEtMS0xMjU5MzM_0ef4d65e-04e0-4c5d-ab54-0e687d17a66d"
      unitRef="usd">-348000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy02LTEtMS0xMjU5MzM_88b54f66-2e29-4853-858a-0ac6ed427734"
      unitRef="usd">15010000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i02edf891beff47328e1dbe04f4461fe5_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfMy04LTEtMS0xMjU5MzM_b543a5e7-ade2-4430-9f98-8311a8aae640"
      unitRef="usd">-791000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i63ee87255a134aabb66a281410efd393_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC0yLTEtMS0xMjU5MzM_04b1f324-44aa-462e-bcec-0eef45125e92"
      unitRef="usd">26816000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i63ee87255a134aabb66a281410efd393_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC00LTEtMS0xMjU5MzM_880a7366-9922-4cfa-b245-0ef0de02621f"
      unitRef="usd">-8000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC02LTEtMS0xMjU5MzM_2a0f573f-4a7f-44c8-80c7-e2ddda77f8b7"
      unitRef="usd">20074000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i7ff71a1ebb4641e7a61b9324acea3bff_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNC04LTEtMS0xMjU5MzM_da63544a-3dd3-4d64-99ea-67fd574fda7c"
      unitRef="usd">-2148000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS0yLTEtMS0xMjU5MzM_859706f1-1f90-4d8c-8443-79ba2493aa14"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS00LTEtMS0xMjU5MzM_6f247a53-ce24-4317-8a73-c49dc8489c88"
      unitRef="usd">2032000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS02LTEtMS0xMjU5MzM_84903779-3342-49c8-8498-a38c6a3698c5"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjg1NTU3OTY4NTFjZjQ1Zjg4OWIwYzBhNTM5Y2I5OTE4L3RhYmxlcmFuZ2U6ODU1NTc5Njg1MWNmNDVmODg5YjBjMGE1MzljYjk5MThfNS04LTEtMS0xMjU5MzM_e1273f41-ba6f-493b-bd94-64ef92f27f46"
      unitRef="usd">-1900000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4MQ_a988b9d9-da13-4d46-a8f7-c649e9a595f7">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of reportable segment net profit (loss) to the Company&#x2019;s consolidated total for the periods presented:&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:75.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating profit (loss) for reportable segments&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,032&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense - 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,388)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(370)&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other (expense) income - 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,827)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses and other unallocated charges&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,529)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(387)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,712)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,094)&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:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <us-gaap:OperatingIncomeLoss
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMi0yLTEtMS0xMjU5MzM_c3aed7b0-448d-467f-8a97-700298b5eedc"
      unitRef="usd">2032000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMi00LTEtMS0xMjU5MzM_ddb40d98-1feb-4cf5-a4dc-1a2f0351d99d"
      unitRef="usd">-1900000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMy0yLTEtMS0xMjU5MzM_6e23d90e-aed1-4d77-92b7-d8287e429e8f"
      unitRef="usd">-1388000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfMy00LTEtMS0xMjU5MzM_836a7a30-af20-45cc-9837-3e8d3b7ae310"
      unitRef="usd">-370000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfNS0yLTEtMS0xMjU5MzM_857a54ad-f2a0-46fa-b6cb-31532f609f7c"
      unitRef="usd">-1827000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfNS00LTEtMS0xMjU5MzM_349f22e9-ca58-4d8f-b922-bd7b3e630743"
      unitRef="usd">563000</us-gaap:OtherNonoperatingIncomeExpense>
    <fstr:CorporateExpenseAndOtherUnallocatedCharges
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOC0yLTEtMS0xMjU5MzM_498b75c0-385d-4cf3-ae1b-edb7a6615797"
      unitRef="usd">1529000</fstr:CorporateExpenseAndOtherUnallocatedCharges>
    <fstr:CorporateExpenseAndOtherUnallocatedCharges
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOC00LTEtMS0xMjU5MzM_aa8e1c93-e6ef-4aee-ad56-f8c739a4d2ae"
      unitRef="usd">387000</fstr:CorporateExpenseAndOtherUnallocatedCharges>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i24270bdbeb4143a5baee2d0f848f4ae1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOS0yLTEtMS0xMjU5MzM_7cefdda4-f267-4882-b2ea-47cb7f0db76c"
      unitRef="usd">-2712000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ifd91b45a97db4390a4ec41c7cea4fa61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOmY5ZmM5ZDExZjg3ZjQwMmY4MGVmYzVhZWVmNWQyNWI4L3RhYmxlcmFuZ2U6ZjlmYzlkMTFmODdmNDAyZjgwZWZjNWFlZWY1ZDI1YjhfOS00LTEtMS0xMjU5MzM_b19d0ab8-4b8c-4f8c-adcc-7edc1242ca80"
      unitRef="usd">-2094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfMjA4OA_0ac000fb-72a7-49ce-9f3c-5ce55e573547">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates assets of the Company by reportable segment for the periods presented:&lt;/span&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;163,001&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,111&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,581&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,598&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,236&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,516&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,560&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336,378&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365,310&#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;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="iad9aa66948aa427d8733b61886370a14_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMS0yLTEtMS0xMjU5MzM_e4a5bd1d-660c-4559-9aec-267d03e34cbe"
      unitRef="usd">163001000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i77148bffd1ea4576b1b6e887e23424bc_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMS00LTEtMS0xMjU5MzM_ff413fd1-f31a-41a7-9036-5aab003cd3e5"
      unitRef="usd">172111000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i5986c6e926704a0ba31da1ad5ecc5c3f_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMi0yLTEtMS0xMjU5MzM_397bbe00-fc59-480c-9db7-10e013997152"
      unitRef="usd">104581000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i3afa9c615a3142e1a8a7c8dff349f77a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMi00LTEtMS0xMjU5MzM_9cd620f2-ad1b-406c-971e-621396c51188"
      unitRef="usd">108598000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i09cd8128a9504543a004d58ccfda78e4_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMy0yLTEtMS0xMjU5MzM_b2ad79e2-32da-42f6-9d05-eaadbf2c81ff"
      unitRef="usd">38236000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i6aeed06cd3b04bd490e7b53b07a716b9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfMy00LTEtMS0xMjU5MzM_a49dea2a-93b2-439f-b0ac-64915556e0f9"
      unitRef="usd">54516000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ia0cf33c60ff748a5bbc634597665f4fe_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNC0yLTEtMS0xMjU5MzM_47275ac7-b0fa-46ff-8c97-0511941a8af3"
      unitRef="usd">30560000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i6284dcf0a94a48c99cee07ee2561a00d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNC00LTEtMS0xMjU5MzM_bf7c64ca-06e9-4420-b694-e116ec3e2bf3"
      unitRef="usd">30085000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNS0yLTEtMS0xMjU5MzM_620c6fa8-413f-41f6-a49b-471374e60bce"
      unitRef="usd">336378000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RhYmxlOjBkNTFlNGY5ZThmZjQ0ZDg4YjU5ZGFjMjNlNTc1NTc5L3RhYmxlcmFuZ2U6MGQ1MWU0ZjllOGZmNDRkODhiNTlkYWMyM2U1NzU1NzlfNS00LTEtMS0xMjU5MzM_26402475-16a8-4433-ad22-7d59e6a58cee"
      unitRef="usd">365310000</us-gaap:Assets>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfNDk0NzgwMjMyNzg0NA_e034ed16-ee90-4198-9104-dfaf2982a208"
      unitRef="usd">5344000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i095a3bc3b1934d6791c6fd6491c12548_D20230330-20230330"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8zNy9mcmFnOmY0OGM4NDU2N2E1NzRiMmRhZDM0NGM5ZGQ4NThiNTg1L3RleHRyZWdpb246ZjQ4Yzg0NTY3YTU3NGIyZGFkMzQ0YzlkZDg1OGI1ODVfNTQ5NzU1ODE2NTQ1_9094dcef-e1fc-49ad-b09a-2921308dd7bf"
      unitRef="usd">-2033000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDI0OQ_8d114d96-f068-479f-b28b-ca4e140e03b9">Revenue&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company&#x2019;s net sales by major product and service category for the periods presented:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail Products and Global Friction Management&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,048&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,651&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology Services and Solutions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,336&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,059&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Buildings&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,970&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,040&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fabricated Steel Products&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,517&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,604&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Coatings and Measurement&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,299&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of the Company&#x2019;s revenue is from products transferred and services rendered to customers at a point in time. The Company recognizes revenue at the point in time at which the customer obtains control of the product or service, which is generally when the product title passes to the customer upon shipment or the service has been rendered to the customer. In limited cases, title does not transfer and revenue is not recognized until the customer has received the products at a designated physical location.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales by the timing of the transfer of goods and services was as follows for the periods presented:&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.583%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.875%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31, 2023&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,834&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,726&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,962&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,550&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,090&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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 style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,166&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,263&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,062&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,491&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,544&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,747&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,012&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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 style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s performance obligations under long-term agreements with its customers are generally satisfied over time. Revenue under long-term agreements is generally recognized using an input measure based upon the proportion of actual costs incurred to estimated total project costs or an input measure based upon actual labor costs as a percentage of estimated total labor costs, depending &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;upon which measure the Company believes best depicts its performance to date under the terms of the contract. A certain portion of the Company&#x2019;s revenue recognized over time under these long-term agreements is recognized using an output method, specifically units delivered, based upon certain customer acceptance and delivery requirements.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue recognized over time was as follows for the periods presented:&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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31,&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;br/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time input method&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,211&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,322&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.0&#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;span style="color:#000000;font-family:'Times New Roman',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:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.6&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time output method&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,315&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,981&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.1&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.1&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total over time sales&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.2&#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;span style="color:#000000;font-family:'Times New Roman',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:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.7&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The timing of revenue recognition, billings, and cash collections results in billed receivables, costs in excess of billings (included in &#x201c;Contract assets&#x201d;), and billings in excess of costs (contract liabilities), included in &#x201c;Deferred revenue&#x201d; within the Condensed Consolidated Balance Sheets. &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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company's contract assets:&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:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Assets&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,613&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net additions to contract assets&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,290&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Transfers from contract asset balance to accounts receivable &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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,696)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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-bottom:1pt solid #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:'Times New Roman',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:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company's contract liabilities:  &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:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Liabilities&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,781&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized from contract 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,443)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase in billings in excess of cost, excluding revenue recognized &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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,983&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other adjustments, including business divestiture&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,078)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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:1pt solid #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:'Times New Roman',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:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company records provisions related to the allowance for credit losses associated with contract assets. Provisions are recorded based upon a specific review of individual contracts as necessary, and a standard provision over any remaining contract assets pooled together based on similar risk of credit loss. The development of these provisions is based on historical collection trends, accuracy of estimates within contract margin reporting, as well as the expectation that collection patterns and margin reporting will continue to adhere to patterns observed in recent years. These expectations are formed based on trends observed, as well as current and expected future conditions.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023, the Company had approximately $259,881 of obligations under new contracts and remaining performance obligations, which is also referred to as backlog. Approximately 8.9% of the March&#160;31, 2023 backlog was related to projects that are anticipated to extend beyond March&#160;31, 2024.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDk0NzgwMjMzMjcyNg_ae854819-8cb1-4428-a76c-1570a9e0e531">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company&#x2019;s net sales by major product and service category for the periods presented:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail Products and Global Friction Management&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,048&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,651&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology Services and Solutions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,336&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,059&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Buildings&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,970&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,040&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fabricated Steel Products&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,517&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,604&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Coatings and Measurement&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,299&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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="display:none"/&gt;&lt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</fstr:ScheduleOfRevenuesByMajorProductLineTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ib94c3af616a84d688d59809b47cda372_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMi0yLTEtMS0xMjkyNTQ_019f6130-8229-414b-abe1-3d2280252240"
      unitRef="usd">56048000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ia19cda2506014897802590110f2d12fd_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMi00LTEtMS0xMjkzMTY_52010d26-7dad-4e5c-9b63-7581298f76fa"
      unitRef="usd">51651000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i79937a4eb83c438c8d6f0c11e3340123_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMy0yLTEtMS0xMjkyNjA_0792db87-3b68-4c29-b06e-2e66b4f699dd"
      unitRef="usd">8336000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1237302f3f4a45e9a3821bf180c0ef4d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMy00LTEtMS0xMjkzMTY_0212989e-4f79-4a3a-909b-e4915783d516"
      unitRef="usd">12059000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNC0yLTEtMS0xMjkyOTg_e512c8b8-3f67-497a-bc8b-c4f1817cb86d"
      unitRef="usd">64384000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNC00LTEtMS0xMjkzMTY_60ef1836-8513-4b1d-9650-4f91e42c3cef"
      unitRef="usd">63710000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i02800169134b4ec0a44706d408b19b03_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNS0yLTEtMS0xMjkzMDQ_efc2a85e-d3a3-4061-821f-febd7dc64562"
      unitRef="usd">10886000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i62ce50a3f4b043a28e1a023c5703dd2f_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNS00LTEtMS0xMjkzMTY_2a91304b-7b33-441d-92f9-34ed284bc8c0"
      unitRef="usd">9970000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i7540d8806fd749128acf5902a0be579f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNi0yLTEtMS0xMjkzMTA_936fc862-328c-4c8f-8535-38114409afb0"
      unitRef="usd">13402000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="id54de3a85e05410d9c0e8951baf9e018_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNi00LTEtMS0xMjkzMTY_eb2a8770-4551-4e43-803e-01984222c4e7"
      unitRef="usd">5040000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNy0yLTEtMS0xMjkzMTA_49f206a4-6cdf-4962-ad39-b4ef51428d5c"
      unitRef="usd">24288000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfNy00LTEtMS0xMjkzMTY_233ef05b-3f59-483a-b51d-7380d4ae67ed"
      unitRef="usd">15010000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3c55b66d69de4416888b170a4fd95d33_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOC0yLTEtMS0xMjkzMTA_f1986515-a5f3-4fd9-8b95-0dace7c4ecef"
      unitRef="usd">10517000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i947da1668daa4cdc899b0ee88de8941d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOC00LTEtMS0xMjkzMTY_e890dd5e-81af-4940-b8ba-81cfb5aae0e5"
      unitRef="usd">12604000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ib92ed0acb0fb41d2aac66ead59e99158_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOS0yLTEtMS0xMjkzMTA_b24f2f99-a0c3-4e57-ae28-6e6c359c312e"
      unitRef="usd">16299000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iceba75f290ed4f58b02e3257b2ac1210_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfOS00LTEtMS0xMjkzMTY_65657d36-3603-4699-b678-cfc125a12c61"
      unitRef="usd">7470000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTAtMi0xLTEtMTI5MzEw_dcf6eb98-9b74-4c0f-aca6-4019de480738"
      unitRef="usd">26816000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTAtNC0xLTEtMTI5MzE2_7efab9b0-4cbc-474f-a4f7-b0e4e12c424b"
      unitRef="usd">20074000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTEtMi0xLTEtMTI5MzEw_5c3d7a3c-e534-48a4-95fd-e6364514d85f"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjg5NGU3ZTRlM2Y1ODQyMDZiMzJjMzExNGVhN2IyOGZiL3RhYmxlcmFuZ2U6ODk0ZTdlNGUzZjU4NDIwNmIzMmMzMTE0ZWE3YjI4ZmJfMTEtNC0xLTEtMTI5MzE2_2701953b-05d6-4c03-9874-0021c801209b"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDI1Mg_ddde6034-bcec-4531-96af-8a27564f8db2">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales by the timing of the transfer of goods and services was as follows for the periods presented:&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.583%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.875%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31, 2023&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,834&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,402&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,726&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,962&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,550&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,886&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,090&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,384&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,288&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,816&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,488&#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 style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in time&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,166&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,263&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,062&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,491&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,544&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,747&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,012&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,710&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,010&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,074&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,794&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue recognized over time was as follows for the periods presented:&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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended March 31,&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Percentage of Total Net Sales &lt;br/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time input method&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,211&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,322&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.0&#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;span style="color:#000000;font-family:'Times New Roman',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:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.6&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over time output method&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,315&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,981&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.1&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.1&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total over time sales&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,526&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,303&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.2&#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;span style="color:#000000;font-family:'Times New Roman',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:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.7&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="icd1e825cbfff461daf46fce9ae8bc863_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi0yLTEtMS0xMjU5MzM_7a3622cd-013d-41d4-a595-5afce91de1ba"
      unitRef="usd">53834000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i06d0c940c4a841e590927db26c2be641_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi00LTEtMS0xMjU5MzM_97482e46-6f78-4716-848a-a3e9d61ba661"
      unitRef="usd">13402000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i6e1d58aa46dc45e0a65e59e6ae15bb2d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi02LTEtMS0xMjU5MzM_39297825-275a-408d-bd4f-6d6b8bd869de"
      unitRef="usd">15726000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ia76ad66a0e9b4464be835910057fe869_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMi04LTEtMS0xMjU5MzM_1bfd1209-183c-42bc-99d2-34d6763f582b"
      unitRef="usd">82962000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i0621169fa7d6423094498cf4ae9d93e0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy0yLTEtMS0xMjU5MzM_1062228e-fb20-4256-ae6e-f432c79897e5"
      unitRef="usd">10550000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iae36f7c70f8541ad986de03cddc33c54_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy00LTEtMS0xMjU5MzM_3ed5370b-db1a-47ac-8c1c-73a776c9a5f3"
      unitRef="usd">10886000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1fc7b50db6154316add0343bae356a81_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy02LTEtMS0xMjU5MzM_a58634d8-9f19-4e03-b05c-ae022369a67d"
      unitRef="usd">11090000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i89be361d231e4d7dbbde73db2b522641_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMy04LTEtMS0xMjU5MzM_3e3816e9-68ed-4a7e-ab27-f229a38e2af9"
      unitRef="usd">32526000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC0yLTEtMS0xMjU5MzM_46c6fffd-d736-4b0e-9636-00e56cca5104"
      unitRef="usd">64384000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC00LTEtMS0xMjU5MzM_39fc8555-ed22-4d9c-97f5-2a8e4325c966"
      unitRef="usd">24288000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC02LTEtMS0xMjU5MzM_0e0edd2d-705a-458c-8874-1bc44cbf47e3"
      unitRef="usd">26816000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfNC04LTEtMS0xMjU5MzM_c1688817-6367-42a5-a75d-cf71ab378d80"
      unitRef="usd">115488000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iacb73dd5aa4d483089b98c8ec12c3e48_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC0yLTEtMS0xMjU5MzM_9143489f-d808-49cb-a8c9-b71d25191373"
      unitRef="usd">49166000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i333358b784b84c89a82799025e8651ad_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC00LTEtMS0xMjU5MzM_c1d8c48a-a8f1-458c-b347-6eefd818a8c8"
      unitRef="usd">4263000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ia1abd8ec82d141f7ab9b9f4ca5367855_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC02LTEtMS0xMjU5MzM_6a64605f-0b45-4d5b-87b1-a6633a268ea8"
      unitRef="usd">15062000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="iea0603a402c942d697a8ec7716ff1a79_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOC04LTEtMS0xMjU5MzM_3e708837-5c6b-4753-affe-6ee03135ed08"
      unitRef="usd">68491000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i4d9f8e472d5c4ae886d5f24587d6a79c_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS0yLTEtMS0xMjU5MzM_51ed4f73-6ea6-4b24-8024-e83da55b78cf"
      unitRef="usd">14544000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i0c6d856d1b3b4557b24fe95643741d99_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS00LTEtMS0xMjU5MzM_8f2e71ec-b0e3-4c25-a729-505039312114"
      unitRef="usd">10747000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i67978491d5c14be1ae5b27de44babdfc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS02LTEtMS0xMjU5MzM_30ccafff-0bf2-4817-a0c3-8ac5274ff8cd"
      unitRef="usd">5012000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i840a9b2ccb4d4b989784d89055559faf_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfOS04LTEtMS0xMjU5MzM_7c094a80-acb8-41dc-9d35-2f49a1f7e72d"
      unitRef="usd">30303000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie1ea6fbdc2d849059f71897dcc856933_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtMi0xLTEtMTI1OTMz_7c3a51d0-816e-451b-a098-cf080a51be52"
      unitRef="usd">63710000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i864c1d99338743cbb461a9d538b90e70_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtNC0xLTEtMTI1OTMz_e04b2a84-fe7b-4cf1-9c2d-579683dd6383"
      unitRef="usd">15010000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i3b22c39148274dc99725ad1bdd43c474_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtNi0xLTEtMTI1OTMz_c19eef07-98db-4e6a-b42d-fd68e3315c35"
      unitRef="usd">20074000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjI1MzI3ZDgxMDU1YjRlZmM5MTBkNmRjOWJiOWNiMzgwL3RhYmxlcmFuZ2U6MjUzMjdkODEwNTViNGVmYzkxMGQ2ZGM5YmI5Y2IzODBfMTAtOC0xLTEtMTI1OTMz_016a4025-b01c-4cf0-ae90-41283c8300d4"
      unitRef="usd">98794000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <fstr:OverTimeSalesAmount
      contextRef="i03021627e1314018906c28d49517d677_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi0yLTEtMS0xMjk2MjI_c1938409-d003-4c1b-8b31-7e08f80614d9"
      unitRef="usd">16211000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount
      contextRef="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi00LTEtMS0xMjk2MTI_d78d8ef7-6a0b-46e8-a7ce-14b87c8eb6a3"
      unitRef="usd">19322000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent
      contextRef="i03021627e1314018906c28d49517d677_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi02LTEtMS0xMzA4NTU_d41a5e7d-58f8-4849-a8f7-80a8191add04"
      unitRef="number">0.140</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent
      contextRef="if1bbef27a85548c48cbeeb9528ef9f92_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMi04LTEtMS0xMjk2MzQ_80e78da5-4944-449d-94fd-e03c9ef4d287"
      unitRef="number">0.196</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount
      contextRef="i6818ad645a3143f382643610e175fa1a_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy0yLTEtMS0xMjk2MjI_13746af2-8416-4bf9-9341-635752a2c372"
      unitRef="usd">16315000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount
      contextRef="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy00LTEtMS0xMjk2MTI_651e3946-f84e-4a24-9a7d-dc66793bfef6"
      unitRef="usd">10981000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent
      contextRef="i6818ad645a3143f382643610e175fa1a_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy02LTEtMS0xMzA4NTU_f68fbf2b-ebc4-454a-8b3b-3610ec92d102"
      unitRef="number">0.141</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent
      contextRef="ie6ffd15511734670bcf165b636db5cf6_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfMy04LTEtMS0xMjk2MzQ_22be6b52-bb13-40a3-8919-45b5a001f8ce"
      unitRef="number">0.111</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesAmount
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC0yLTEtMS0xMjk2MjI_5bb23a78-e7d8-4880-8931-5e5c96e3315e"
      unitRef="usd">32526000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesAmount
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC00LTEtMS0xMjk2MTI_57edda04-78cc-414f-a3d4-6a53be1e0f25"
      unitRef="usd">30303000</fstr:OverTimeSalesAmount>
    <fstr:OverTimeSalesPercent
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC02LTEtMS0xMzA4NTU_f9cf244a-312c-4f34-8d50-82b9c3b9ccac"
      unitRef="number">0.282</fstr:OverTimeSalesPercent>
    <fstr:OverTimeSalesPercent
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjU3NzU4NDkzMjVkYzRhODdhYThmMDc0YjQ3OTZjZmRmL3RhYmxlcmFuZ2U6NTc3NTg0OTMyNWRjNGE4N2FhOGYwNzRiNDc5NmNmZGZfNC04LTEtMS0xMjk2MzQ_bd17637d-d326-444d-be56-43a6fe2a8b71"
      unitRef="number">0.307</fstr:OverTimeSalesPercent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDk0NzgwMjMzNTAyMA_82101b85-7913-4132-bb4d-30140bdbab50">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company's contract assets:&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:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Assets&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,613&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net additions to contract assets&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,290&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Transfers from contract asset balance to accounts receivable &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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,696)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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-bottom:1pt solid #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:'Times New Roman',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:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company's contract liabilities:  &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:84.872%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.234%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Contract Liabilities&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,781&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized from contract 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,443)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase in billings in excess of cost, excluding revenue recognized &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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,983&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other adjustments, including business divestiture&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,078)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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:1pt solid #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:'Times New Roman',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:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMS0yLTEtMS0xMzkxNzA_9c6fea88-d750-494e-9217-db2888691288"
      unitRef="usd">33613000</us-gaap:ContractWithCustomerAssetNet>
    <fstr:ContractWithCustomerAssetAdditions
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMi0yLTEtMS0xMzkxNzA_0fa1c7e7-48d0-43ec-99d2-8cdd3c89a722"
      unitRef="usd">1290000</fstr:ContractWithCustomerAssetAdditions>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfMy0yLTEtMS0xMzkxNzA_968690ae-ab08-4aa6-ab18-34099471b6bf"
      unitRef="usd">3696000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOmI5YjlhOTY5NzA4MzRhODViY2YxNzM1NmU5MjUyZjJhL3RhYmxlcmFuZ2U6YjliOWE5Njk3MDgzNGE4NWJjZjE3MzU2ZTkyNTJmMmFfNC0yLTEtMS0xMzkxNzA_1f2ad168-c9c8-407c-b747-b9efbe91d77a"
      unitRef="usd">31207000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMS0yLTEtMS0xMzkyMjY_70557da0-05be-4244-a73e-27fa093fc22a"
      unitRef="usd">6781000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMi0yLTEtMS0xMzkyMjY_c9cea1b9-6f7b-404b-81cc-799d2dc06d1d"
      unitRef="usd">3443000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfMy0yLTEtMS0xMzkyMjY_af643bca-c2a0-4fb7-98b9-4fe171d7ea4d"
      unitRef="usd">1983000</fstr:ContractWithCustomerLiabilityIncreaseFromCashReceipts>
    <fstr:ContractWithCustomerLiabilityOtherAdjustments
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfNC0yLTEtMS0xMzkyMjY_f0d2f34b-b662-433e-a366-c8702240fe69"
      unitRef="usd">2078000</fstr:ContractWithCustomerLiabilityOtherAdjustments>
    <us-gaap:ContractWithCustomerLiability
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RhYmxlOjJkMzQ3ODQzYzE1MjRjMjE5YjNmZmE4MWYwZTMwMjA2L3RhYmxlcmFuZ2U6MmQzNDc4NDNjMTUyNGMyMTliM2ZmYTgxZjBlMzAyMDZfNS0yLTEtMS0xMzkyMjY_2fd81981-e2ec-4bb1-9ae1-a495ebb70239"
      unitRef="usd">3243000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDAzMw_039dd8bb-3959-4e8f-8237-c8d73f6a2cb0"
      unitRef="usd">259881000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="ief32642424144d36965f51c37266b30c_I20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80My9mcmFnOjA5ODg4YzdiYmVkMTQ5ODM4ZTAyMDI0NWQyMDVlNmNkL3RleHRyZWdpb246MDk4ODhjN2JiZWQxNDk4MzhlMDIwMjQ1ZDIwNWU2Y2RfNDE2Mg_f3a4248e-a628-405e-b5a2-30a0c170c59c"
      unitRef="number">0.089</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMTgyOQ_d8a8a4f2-fe33-4d74-b524-dd2db8bd21b5">Goodwill and Other Intangible Assets&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the changes in goodwill balance by reportable segment for the period presented:&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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,948&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,733&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation impact&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#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;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,078&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#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:'Times New Roman',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:'Times New Roman',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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,863&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company performs goodwill impairment tests annually during the fourth quarter, and also performs interim goodwill impairment tests if it is determined that it is more likely than not that the fair value of a reporting unit is less than the carrying amount. Qualitative factors are assessed to determine whether it is more likely than not that the fair value of a reporting unit is less than the carrying amount, which included the impacts of current economic conditions, including but not limited to labor markets, supply chains, and &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;other inflationary costs. However, these factors can be unpredictable and are subject to change. No interim goodwill impairment test was required as a result of the evaluation of qualitative factors as of March&#160;31, 2023. However, future impairment charges could result if future projections diverge unfavorably from current expectations in the Rail Technologies and Precast Concrete Products reporting units.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023 and December&#160;31, 2022, the components of the Company&#x2019;s intangible assets were as follows:&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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2023&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,413&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,965)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,448&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,957&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,142)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,815&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,253&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,405)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,848&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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: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="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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,307&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,758)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,549&#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="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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,184&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,129)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,055&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,933&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,989)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,944&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,201&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,827)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,374&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#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: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="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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,002&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,171)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,831&#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:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMTgyNQ_47bafc00-779e-44ea-a1e5-0ca920c5a3cb">The following table presents the changes in goodwill balance by reportable segment for the period presented:&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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Rail, Technologies, and Services&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Precast Concrete Products&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Steel Products and Measurement&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,948&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,733&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation impact&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130&#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;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,078&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,785&#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:'Times New Roman',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:'Times New Roman',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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,863&#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;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i9d1963d8f99f4c88bdc3b1ffcb15a81d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS0yLTEtMS0xMjU5MzM_fbe1b90a-ff71-4bea-a073-5fdf8fdd8e48"
      unitRef="usd">19948000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib982b325025147d8937e9c42e08beada_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS00LTEtMS0xMjU5MzM_77f94de2-6b20-4f2a-8b81-19db90a9815b"
      unitRef="usd">10785000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic48ec56bf9ea48849e90aee9dab15592_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS02LTEtMS0xMjU5MzM_5ce85d61-6ef3-48c4-ab0c-6f506f7f8b58"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfMS04LTEtMS0xMjU5MzM_d3be3c5f-b1ce-4bab-95f8-da8f8903117a"
      unitRef="usd">30733000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i960a969405844740a78873698dd0f09b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC0yLTEtMS0xMjU5MzM_82b8844d-a944-4d44-a80e-4360c4b083fc"
      unitRef="usd">130000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="iee1c0c87c7b54040af31f6a78faf42f1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC00LTEtMS0xMjU5MzM_ea499598-3e72-4744-bb50-45b89668d292"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="id83446a3561a4a9fbd082ff84db64955_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC02LTEtMS0xMjU5MzM_9f0d5970-dd78-4522-a2d3-dc602d632d02"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNC04LTEtMS0xMjU5MzM_85c53ffd-ee1c-405b-8707-5267a6484fcc"
      unitRef="usd">130000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="icb921d9a7bc04c09adbfa0e15199ca24_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy0yLTEtMS0xMjU5MzM_b578ade0-3599-40db-902c-358446fa7567"
      unitRef="usd">20078000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic0620249071b4026a5bb6680dad2d666_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy00LTEtMS0xMjU5MzM_48172972-ed02-4c71-8db6-30b7f6ceb0b5"
      unitRef="usd">10785000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i80e024ba38d24d678c483b9b75733d8b_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy02LTEtMS0xMjU5MzM_c0fbbf12-5ca9-4972-bf87-820b48e281ae"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOmE4NmY4NDFjZTA2YTQ4NzRiZmQ0Y2JlYzViMTYxY2FmL3RhYmxlcmFuZ2U6YTg2Zjg0MWNlMDZhNDg3NGJmZDRjYmVjNWIxNjFjYWZfNy04LTEtMS0xMjU5MzM_fd330ae3-bc34-4eaa-9cfb-ef45bcbbfcdc"
      unitRef="usd">30863000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RleHRyZWdpb246OWM1NWVkNThjNDNlNDhjNDgzMGFkYWIwY2IwOTI4NDJfMzg0ODI5MDcwMDgxNg_71cfd3d1-5c50-47c6-a446-5d97c87adab0">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023 and December&#160;31, 2022, the components of the Company&#x2019;s intangible assets were as follows:&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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2023&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,413&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,965)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,448&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,957&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,142)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,815&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,253&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,405)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,848&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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: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="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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,307&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,758)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,549&#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="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:45.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Amortization&lt;br/&gt;Period In Years&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Value&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',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:#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(187)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,184&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,129)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,055&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,933&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,989)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,944&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,201&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,827)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,374&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Favorable lease&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#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: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="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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,002&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,171)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,831&#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:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iac8139cc0acb40c5b3fb2886ae2ec15e_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi0yLTEtMS0xNDE2ODY_8ea1d1f0-dc0e-41e0-9627-10b38ff151f7">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi00LTEtMS0xNDE2ODY_1ec06723-3b2c-4cd5-a905-a9c0e3a2ac7e"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi02LTEtMS0xNDE2ODY_684af4b7-b392-47ea-841e-bde4d7467c33"
      unitRef="usd">23000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4e359afd1af14febad47fadba2ac3194_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMi04LTEtMS0xNDE2ODY_16d551fa-c7d3-45cb-b04e-6b3bfc40a89b"
      unitRef="usd">4000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="id3d5112c26a34b6f9b8d7bd74f403358_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy0yLTEtMS0xNDE2ODY_4c747718-82a8-43a8-8cbc-872f4cc87749">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy00LTEtMS0xNDE2ODY_bc958553-d48a-416e-b770-0b192818e29c"
      unitRef="usd">330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy02LTEtMS0xNDE2ODY_ac060d31-d13c-48f0-9413-8b0b0090bbc5"
      unitRef="usd">187000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifa70c4d9c5ac42e7a633d9022792ac52_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfMy04LTEtMS0xNDE2ODY_cbdeeafd-d1be-438f-8191-583c981503c4"
      unitRef="usd">143000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i251e12ea961741bb926c8abd8f8bfd16_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC0yLTEtMS0xNDE2ODY_cdbfd984-a1c4-4c13-a29c-81492cd40a12">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC00LTEtMS0xNDE2ODY_067b0947-671e-4033-a37f-39a972b89540"
      unitRef="usd">27413000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC02LTEtMS0xNDE2ODY_7ef0ac75-d77b-413b-ac16-b3f55c0f4253"
      unitRef="usd">14965000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if61b03d68ac84182ac693fc961957d3a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNC04LTEtMS0xNDE2ODY_98041d8e-e7da-4392-8c90-18ec567da715"
      unitRef="usd">12448000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i1e320e688e0b4df39bf87960b68d58b4_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS0yLTEtMS0xNDE2ODY_d8a11b1b-5de1-4721-a919-e9506165257d">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS00LTEtMS0xNDE2ODY_26fb60a8-620b-4973-9ed0-af264ec85923"
      unitRef="usd">7957000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS02LTEtMS0xNDE2ODY_5a6f27c5-dcbe-4110-a755-2348c1c5e168"
      unitRef="usd">4142000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7f017986cffe44aa813259ea5df1fa93_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNS04LTEtMS0xNDE2ODY_16c4de91-bfad-450a-b5e3-5a7a74d29884"
      unitRef="usd">3815000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i078ed6f96c474800a1c57166f75718db_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi0yLTEtMS0xNDE2ODY_32913a99-5953-42a4-958b-3de6e9c12d09">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi00LTEtMS0xNDE2ODY_0631dc7a-532a-4463-9527-d6643e40b8b5"
      unitRef="usd">32253000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi02LTEtMS0xNDE2ODY_142056d1-466d-4a52-8353-1d9c91b0db73"
      unitRef="usd">26405000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5fd770d28c82409c94bb16312fef49b0_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNi04LTEtMS0xNDE2ODY_596e6b6e-3c32-4f49-9d6c-ab35a438d685"
      unitRef="usd">5848000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i2841959fd84a4b48b32f0cb84989b6de_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy0yLTEtMS0xNDE2ODY_8efc2340-204c-45f6-b718-5a228d57bf39">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy00LTEtMS0xNDE2ODY_53b66630-a745-4448-adce-2304cbbf0147"
      unitRef="usd">327000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy02LTEtMS0xNDE2ODY_0c7d945d-039f-4aaf-8d55-0b748f147cb6"
      unitRef="usd">36000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i942ff27f7b874755bfb4f3c628384984_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfNy04LTEtMS0xNDE2ODY_28e1ab59-49e3-4877-944d-ef298443c0e5"
      unitRef="usd">291000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC00LTEtMS0xNDE2ODY_b183acbd-aca8-4e04-9775-274871f63c14"
      unitRef="usd">68307000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC02LTEtMS0xNDE2ODY_e186ca30-d554-4e4a-8dcb-b1e48f9b9bf8"
      unitRef="usd">45758000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjE1MmQ2ZDU4M2EzZDQ3YjY5OWJhZjExM2FkZDU2NjBhL3RhYmxlcmFuZ2U6MTUyZDZkNTgzYTNkNDdiNjk5YmFmMTEzYWRkNTY2MGFfOC04LTEtMS0xNDE2ODY_f95bc38d-1128-4395-9707-997117761129"
      unitRef="usd">22549000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i17d8aae57327493eb914b7095d2a49cc_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi0yLTEtMS0xNDE3MDg_1462aaa5-1b6d-4e9f-b3eb-dd9e99240497">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi00LTEtMS0xNDE3MDg_5bf4634f-8cdd-4d6e-aad0-b8e20b9b1d89"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi02LTEtMS0xNDE3MDg_c716db7b-895d-4a35-a45e-d1392abc81c9"
      unitRef="usd">16000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7b5ded240cd54584a0edb9037849fc5c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMi04LTEtMS0xNDE3MDg_9cbd2721-45ce-4d1b-b38e-df45a25b7251"
      unitRef="usd">11000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i17b4d5dfd5ba4d36971bf6a5b718294c_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy0yLTEtMS0xNDE3MDg_e67ba0fa-2fa8-4d20-b5b9-6aeb725ddeef">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy00LTEtMS0xNDE3MDg_b576a928-9359-457f-aefc-7a05bb303a94"
      unitRef="usd">330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy02LTEtMS0xNDE3MDg_e462e5ed-abdc-4d40-834f-6af3f67e9bcd"
      unitRef="usd">187000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="idc56ebc7bc6446bdab0ab852a76b9be8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfMy04LTEtMS0xNDE3MDg_f114092a-559a-46e8-986f-197e58457041"
      unitRef="usd">143000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ia8040277b6404366936bf09a061070e8_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC0yLTEtMS0xNDE3MDg_2943bab3-4a97-47c5-b630-97df474a18df">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i464ff039fc88406d808d104214c145c3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC00LTEtMS0xNDE3MDg_e52f4a86-dc33-4483-afda-815448949ac8"
      unitRef="usd">27184000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i464ff039fc88406d808d104214c145c3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC02LTEtMS0xNDE3MDg_adde4d27-7057-4395-a8f0-5ccbb86d7132"
      unitRef="usd">14129000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i464ff039fc88406d808d104214c145c3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNC04LTEtMS0xNDE3MDg_519a1a96-3944-4e2a-91c5-789c258f04f9"
      unitRef="usd">13055000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i7a6a48d68fcd41c7adb286c806f8c565_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS0yLTEtMS0xNDE3MDg_8c7f4059-849a-4997-946e-9315fe74ab68">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i14547eea555841b682acff4b937b4814_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS00LTEtMS0xNDE3MDg_947c1adb-ac17-4204-989e-5e96e9651383"
      unitRef="usd">7933000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i14547eea555841b682acff4b937b4814_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS02LTEtMS0xNDE3MDg_5fd016fb-46ee-4279-baa7-1b14f01b0a44"
      unitRef="usd">3989000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i14547eea555841b682acff4b937b4814_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNS04LTEtMS0xNDE3MDg_a93a5c3a-d030-4070-9776-9dbb00959bf8"
      unitRef="usd">3944000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6ff42532b9ad488691876c7faca08a00_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi0yLTEtMS0xNDE3MDg_42de9dde-55e8-42c0-95df-aa5e9ac46885">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi00LTEtMS0xNDE3MDg_3eac69dc-633c-4487-b7b3-acfbac060e6d"
      unitRef="usd">32201000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi02LTEtMS0xNDE3MDg_4156182a-4c27-4b82-8406-327dfa8b6ef2"
      unitRef="usd">25827000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i59a6f1a9422e44aaa8a06c4613fb3cde_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNi04LTEtMS0xNDE3MDg_0d57f37a-acd5-49bc-9dbf-002a0b7b8d3f"
      unitRef="usd">6374000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ia192fe5493fb461788270535d4bb2e57_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy0yLTEtMS0xNDE3MDg_2cb6bfd7-df85-4fe7-acf7-306e438f6605">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy00LTEtMS0xNDE3MDg_3a362b47-4a80-489e-af20-4ceb573dde79"
      unitRef="usd">327000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy02LTEtMS0xNDE3MDg_c5cdb160-58fa-480d-b0b8-648883f940a6"
      unitRef="usd">23000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id97e4a3602394c758c8cb04049b42bfa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfNy04LTEtMS0xNDE3MDg_1849d8fe-f9de-4ef2-8adc-a0e6f17a687c"
      unitRef="usd">304000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC00LTEtMS0xNDE3MDg_e5295ea1-f14d-44a5-81de-26c94fb243b6"
      unitRef="usd">68002000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC02LTEtMS0xNDE3MDg_b5a42795-f797-42c3-9ac1-b1ca655016e0"
      unitRef="usd">44171000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV80OS9mcmFnOjljNTVlZDU4YzQzZTQ4YzQ4MzBhZGFiMGNiMDkyODQyL3RhYmxlOjExOTFkMmVjZTdhZjQwNzU4YmUxNGI3OWViZmNmYjAzL3RhYmxlcmFuZ2U6MTE5MWQyZWNlN2FmNDA3NThiZTE0Yjc5ZWJmY2ZiMDNfOC04LTEtMS0xNDE3MDg_68d20368-200d-4afd-8ba5-6ff89106b36d"
      unitRef="usd">23831000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfMTk5NA_d0fabc41-a3c9-4086-bc49-965e9ac90cd4">Accounts Receivable&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in reserves for uncollectible accounts, which are recorded as part of &#x201c;Selling and administrative expenses&#x201d; in the Condensed Consolidated Statements of Operations, were recorded as an expense of $155 and $61 for the three months ended March 31, 2023 and 2022, respectively.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company establishes the allowance for credit losses based on historical collection patterns and other subjective conditions as necessary, including current and expected market conditions. Trade receivables are pooled based on age, which groups receivables of similar credit risk together. Management maintains stringent credit review practices and works to maintain positive customer relationships to further mitigate credit risk.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s allowance for credit losses:&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:85.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.818%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Allowance for Credit Losses&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;813&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current period provision&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-off against allowance&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(100)&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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;868&#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;/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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="if2b81add6d61480eb72836ee31510df6_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfNjM1_376fdc93-86df-4a41-a2d7-75c6a4b8e4f5"
      unitRef="usd">155000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ice04d81f07234651b69d44a0cd7cab27_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfNjQy_ca8e722c-49cc-43d6-aee4-a6e2456cc708"
      unitRef="usd">61000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RleHRyZWdpb246NWI4YjUwZTlhNjI4NDdlNWIyZjBkM2M4ZDI3OTk0MDhfMTk5Mg_a02c0b1f-267f-4aef-87c7-56fa73ed8926">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company&#x2019;s allowance for credit losses:&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:85.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.818%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Allowance for Credit Losses&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2022&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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;813&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current period provision&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-off against allowance&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(100)&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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of March 31, 2023&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;868&#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;/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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMS0yLTEtMS0xMjU5MzM_8c8315e3-2cb8-420e-93e1-d7692ee042b2"
      unitRef="usd">813000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMi0yLTEtMS0xMjU5MzM_f3a4571f-9824-4a68-856a-ec9ffe0893e8"
      unitRef="usd">155000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfMy0yLTEtMS0xMjU5MzM_e8c412cc-f1b6-4288-adb2-dc12eb150360"
      unitRef="usd">100000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81Mi9mcmFnOjViOGI1MGU5YTYyODQ3ZTViMmYwZDNjOGQyNzk5NDA4L3RhYmxlOmYxZmQ5ZTBhMGQ3MTQ3ODViMTY3YjhiYmRlY2E3MjgzL3RhYmxlcmFuZ2U6ZjFmZDllMGEwZDcxNDc4NWIxNjdiOGJiZGVjYTcyODNfNS0yLTEtMS0xMjU5MzM_03e62b8a-be24-4b7f-9128-2c3b8e33e7e7"
      unitRef="usd">868000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90ZXh0cmVnaW9uOmNjYmQyZTE5MGU1YzRkM2E4YTU2M2QxOGE1YjliMGZmXzM4NDgyOTA2OTc1NDk_099dcdb2-914f-460a-aede-c3323db46335">Inventory&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventory is valued at average cost or net realizable value, whichever is lower. The Company&#x2019;s components of inventory as of March&#160;31, 2023 and December&#160;31, 2022 are summarized in the following table:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,754&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,431&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,844&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,693&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,996&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,597&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories - net&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,594&#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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,721&#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="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90ZXh0cmVnaW9uOmNjYmQyZTE5MGU1YzRkM2E4YTU2M2QxOGE1YjliMGZmXzM4NDgyOTA2OTc1NDg_be2b186d-f508-4d71-bc1e-0217ee3da2cf">The Company&#x2019;s components of inventory as of March&#160;31, 2023 and December&#160;31, 2022 are summarized in the following table:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,754&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,431&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,844&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,693&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,996&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,597&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories - net&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-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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,594&#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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,721&#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;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzEtMi0xLTEtMTQxNjQ4_de953096-bddd-4510-ac3f-a2417c6cca90"
      unitRef="usd">47754000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzEtNC0xLTEtMTQxNjQ4_b4e2ce13-d0c9-4051-a820-ed815d4ff146"
      unitRef="usd">41431000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzItMi0xLTEtMTQxNjQ4_8b63f73f-3cb1-461a-85f0-707b4f6826c6"
      unitRef="usd">8844000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzItNC0xLTEtMTQxNjQ4_c05d0c2d-a90a-4e0b-a605-ef9a69610150"
      unitRef="usd">9693000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzMtMi0xLTEtMTQxNjQ4_fce4d9f7-c314-4eec-981e-9c58e62adf0e"
      unitRef="usd">27996000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzMtNC0xLTEtMTQxNjQ4_905fdb3e-601b-4db3-be18-e0eb4af3873c"
      unitRef="usd">24597000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzQtMi0xLTEtMTQxNjQ4_fd26333e-45db-4c9c-b997-3f446364302c"
      unitRef="usd">84594000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV81ODIvZnJhZzpjY2JkMmUxOTBlNWM0ZDNhOGE1NjNkMThhNWI5YjBmZi90YWJsZTpjZjVlOTMyNWU1OGQ0YWMxOTRhMTAyN2YzZjBlNzAxNi90YWJsZXJhbmdlOmNmNWU5MzI1ZTU4ZDRhYzE5NGExMDI3ZjNmMGU3MDE2XzQtNC0xLTEtMTQxNjQ4_54564c53-6725-429d-a241-edfdf0f4a669"
      unitRef="usd">75721000</us-gaap:InventoryNet>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1NQ_e3080f5d-a533-4b96-8ccf-47e9c3c5b936">Long-Term Debt and Related Matters&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consisted of the following:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,825&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,567&#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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases and financing agreements&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,096&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,879&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current maturities&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(117)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(127)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term portion&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,979&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,752&#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 style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August&#160;13, 2021, the Company, its domestic subsidiaries, and certain of its Canadian and United Kingdom subsidiaries (collectively, the &#x201c;Borrowers&#x201d;), entered into the Fourth Amended and Restated Credit Agreement (the &#x201c;Credit Agreement&#x201d;) with PNC Bank, N.A., Citizens Bank, N.A., Wells Fargo Bank, National Association, Bank of America, N.A., and BMO Harris Bank, National Association. The Credit Agreement, as amended, modifies the prior revolving credit facility, as amended, on terms more favorable to the Company and extends the maturity from April 30, 2024 to August&#160;13, 2026. The Credit Agreement provides for a five-year, revolving credit facility that permits aggregate borrowings of the Borrowers up to $130,000 (a $15,000 increase over the previous commitment) with a sublimit of the equivalent of $25,000 U.S. dollars that is available to the Canadian and United Kingdom borrowers in the aggregate. The Credit Agreement&#x2019;s incremental loan feature permits the Company to increase the available commitments under the facility by up to an additional $50,000 subject to the Company&#x2019;s receipt of increased commitments from existing or new lenders and the satisfaction of certain conditions.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Credit Agreement as amended, will bear interest at rates based upon either the base rate or SOFR rate plus applicable margins. The Credit Agreement includes two financial covenants: (a) Maximum Gross Leverage Ratio, defined as the Company&#x2019;s consolidated Indebtedness (as defined in the Credit Agreement) divided by the Company&#x2019;s consolidated EBITDA, which must not exceed (i) 3.25 to 1.00 for all testing periods other than during an Acquisition Period  (as defined in the Credit Agreement), and (ii) 3.50 to 1.00 for all testing periods occurring during an Acquisition Period, and (b) Minimum Consolidated Fixed Charge Coverage Ratio, defined as the Company&#x2019;s consolidated EBITDA divided by the Company&#x2019;s Fixed Charges (as defined in the Credit Agreement), which must be more than 1.05 to 1.00.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 12, 2022, the Company entered into a second amendment to its Credit Agreement (&#x201c;Second Amendment&#x201d;) to obtain approval for the VanHooseCo acquisition (as defined below) and temporarily modify certain financial covenants to accommodate the transaction. The Second Amendment permitted the Company to acquire the operating assets of VanHooseCo and modified the Maximum Gross Leverage Ratio covenant to 3.75 through June 30, 2023 to accommodate the transaction.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023, the Company was in compliance with the covenants in the Credit Agreement, as amended, and had outstanding letters of credit of approximately $1,084.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1Ng_4af06017-f41e-49ca-b014-7a48502d87db">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consisted of the following:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,825&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,567&#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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases and financing agreements&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,096&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,879&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current maturities&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(117)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(127)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term portion&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 #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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,979&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,752&#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:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LineOfCredit
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMS0yLTEtMS0xMjU5MzM_16af022c-63e6-4f68-ace4-b096a3725601"
      unitRef="usd">79825000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMS00LTEtMS0xMjU5MzM_b08f3b81-8866-4fe4-a657-010a738a06cb"
      unitRef="usd">91567000</us-gaap:LineOfCredit>
    <us-gaap:FinanceLeaseLiability
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMy0yLTEtMS0xMjU5MzM_18d24798-0c7e-428e-84dd-c6886b4bd1e0"
      unitRef="usd">271000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfMy00LTEtMS0xMjU5MzM_74760d97-1fad-4df1-a35b-8ff10df4a80f"
      unitRef="usd">312000</us-gaap:FinanceLeaseLiability>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNC0yLTEtMS0xMjU5MzM_9ff6610e-1d55-4148-879b-250b45734afd"
      unitRef="usd">80096000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNC00LTEtMS0xMjU5MzM_be842b77-a7c6-46d0-8f7e-77e688fc7cb1"
      unitRef="usd">91879000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNS0yLTEtMS0xMjU5MzM_70e1a494-8af8-4c03-bd03-22b9d322194a"
      unitRef="usd">117000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNS00LTEtMS0xMjU5MzM_e5c5e2f9-809d-42cb-878c-a835756fac41"
      unitRef="usd">127000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNi0yLTEtMS0xMjU5MzM_203e7147-5d2e-45dd-bd0e-af36fd242e8f"
      unitRef="usd">79979000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RhYmxlOjg4YjljYTNmMmQ5ODQ3MGQ5YmQzNjA5NjcwYmI3MWM0L3RhYmxlcmFuZ2U6ODhiOWNhM2YyZDk4NDcwZDliZDM2MDk2NzBiYjcxYzRfNi00LTEtMS0xMjU5MzM_b47e5c77-ec50-4a0f-a1f5-aafac3a1d465"
      unitRef="usd">91752000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DebtInstrumentTerm
      contextRef="id1ee7d2f61844c62906cd9688b062537_D20210813-20210813"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTE1OQ_f80c0420-844f-4b43-bb7e-b55298c0d587">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNzQ2_f47789e7-cd07-44c2-9f3d-9311cae66c91"
      unitRef="usd">130000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet
      contextRef="i4cc8eae28bc84027955c7169814b3709_D20210813-20210813"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMzg0ODI5MDcwNTc4Mg_b32d201c-16a4-403e-a1d3-f12b00e414ab"
      unitRef="usd">15000</us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet>
    <fstr:LineOfCreditAccordionFeatureLowerBorrowingCapacityOption
      contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfODMx_d8d2f893-0078-4434-bcc2-ca125b90c2ef"
      unitRef="usd">25000000</fstr:LineOfCreditAccordionFeatureLowerBorrowingCapacityOption>
    <fstr:LineOfCreditFacilityMaximumIncreaseInCommitments
      contextRef="i0d4fc034211c401baeabdf76b2a17083_I20210813"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMTA3Ng_777b34be-06fb-4360-877f-8133eef622b4"
      unitRef="usd">50000000</fstr:LineOfCreditFacilityMaximumIncreaseInCommitments>
    <fstr:DebtInstrumentNumberOfFinancialCovenants
      contextRef="i5cad199d02584d47ba947b483e0c5e33_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNDk0NzgwMjMzMzE2NA_214c9404-eb31-42d5-8d26-deeea170098e"
      unitRef="covenant">2</fstr:DebtInstrumentNumberOfFinancialCovenants>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum
      contextRef="iec946c377c0f4c5db11cfaa6335f6a6a_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMjY4Nw_9d361e78-7dcd-44ee-b9bd-8c995921ec2f"
      unitRef="number">3.25</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum
      contextRef="i0656019163c8485b830309ab3dedde3d_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMjc3MA_9c000cf0-11e2-4e1b-89ef-a2f0b7668de8"
      unitRef="number">3.5</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum
      contextRef="i23eb32e78fb84b219632afb41e17c9b1_I20210813"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfMzA4NA_afa51cbf-be97-4818-af60-10dd6f77d2ff"
      unitRef="number">1.05</fstr:DebtInstrumentCovenantInterestCoverageRatioMinimum>
    <fstr:DebtInstrumentCovenantLeverageRatioMaximum
      contextRef="id0a992b75b7e481f8bd6f04e94c9df5f_I20220812"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNDk0NzgwMjMzMzY5MA_97449448-2348-4adf-b7ec-86869bfc82ec"
      unitRef="number">3.75</fstr:DebtInstrumentCovenantLeverageRatioMaximum>
    <us-gaap:LineOfCredit
      contextRef="ie5924391378a4b42afddf688f200d930_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82NC9mcmFnOmQ5ZmM3ZmMwMjcyNjQzMDA5OTUzMWY1YzVhMTk4MDVlL3RleHRyZWdpb246ZDlmYzdmYzAyNzI2NDMwMDk5NTMxZjVjNWExOTgwNWVfNTQ5NzU1ODIyMDIz_dac6793e-c862-4be4-b46d-4ff05516f446"
      unitRef="usd">1084000</us-gaap:LineOfCredit>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMzAx_86145a91-d982-42d3-ad05-5a0201ddc9c2">Earnings Per Common Share&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(Share amounts in thousands)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted loss per common share for the periods indicated:&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:75.288%"/&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 style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted loss per common share:&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="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 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&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="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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,171)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,586)&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;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&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="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;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 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic loss per common share&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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted loss per common share - adjusted weighted average shares outstanding&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic loss per common share&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="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted loss per common share&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were 101 and 122 anti-dilutive shares for the three months ended March 31, 2023 and 2022, respectively, excluded from the calculation.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMzAz_f75f3e4f-828a-4798-814f-3ddf02dd7760">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted loss per common share for the periods indicated:&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:75.288%"/&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 style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted loss per common share:&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="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 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&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="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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,171)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,586)&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;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&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="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;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 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic loss per common share&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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted loss per common share - adjusted weighted average shares outstanding&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,792&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,685&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic loss per common share&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="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted loss per common share&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMy02LTEtMS0xMjU5MzM_145595ee-da4b-4021-b794-f53b9baca888"
      unitRef="usd">-2171000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMy04LTEtMS0xMjU5MzM_2e6c485e-18d2-4997-aab0-daccb89d13b1"
      unitRef="usd">-1586000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfNy02LTEtMS0xMjU5MzM_8367fb55-bcb0-4d70-8272-5e8b6f735c1c"
      unitRef="shares">10792000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfNy04LTEtMS0xMjU5MzM_690215c2-6cc2-45ea-870f-249797340149"
      unitRef="shares">10685000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfOC02LTEtMS0xMjU5MzM_4b74201e-afb4-4339-80ff-29af760a5f11"
      unitRef="shares">10792000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfOC04LTEtMS0xMjU5MzM_8de76e1d-1dcf-4ed5-ab14-ca4a2550924e"
      unitRef="shares">10685000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTItNi0xLTEtMTI1OTMz_66cca9ca-c165-44f6-bd65-cc5b0bc35d65"
      unitRef="shares">10792000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTItOC0xLTEtMTI1OTMz_6c669606-3b9e-46bb-bbe9-57f1a112f9bd"
      unitRef="shares">10685000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTUtNi0xLTEtMTI1OTMz_c1e5a4d5-314a-4ad1-a0f8-499255667bdd"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTUtOC0xLTEtMTI1OTMz_323062b5-1d35-4fe3-b1dc-f1ce004745e9"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTgtNi0xLTEtMTI1OTMz_fb0c49a5-15e3-4d6e-9085-c748ffebaef0"
      unitRef="usdPerShare">-0.20</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RhYmxlOjg3NTk2ZmY0MDFiZDQwOThhMTlkMWZjMDgyNzM1MmNjL3RhYmxlcmFuZ2U6ODc1OTZmZjQwMWJkNDA5OGExOWQxZmMwODI3MzUyY2NfMTgtOC0xLTEtMTI1OTMz_24f81074-92cb-40b8-8a4a-4b87bfcc1b3e"
      unitRef="usdPerShare">-0.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMjA1_272a20fe-5c60-4214-af95-7b3b0c6bd234"
      unitRef="shares">101000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV82Ny9mcmFnOjU4OTBiNzczNjlmZjQzOGNiNzc5ZmIxOWZmODE5M2ExL3RleHRyZWdpb246NTg5MGI3NzM2OWZmNDM4Y2I3NzlmYjE5ZmY4MTkzYTFfMjE5OTAyMzI1NTg5NA_0eeb5953-81f1-4ddb-a2de-b97a96bff302"
      unitRef="shares">122000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTI5Ng_20204dc1-bef1-4e4e-998f-a7967cd9fc11">Income TaxesFor the three months ended March 31, 2023 and 2022, the Company recorded an income tax benefit of $541 and $508, respectively, on pre-tax losses of $2,712 and $2,094, respectively, for an effective income tax rate of 19.9% and 24.3%, respectively. Due to the full valuation allowance on domestic deferred tax assets, the Company's tax provision for the three months ended March 31, 2023 does not reflect any tax benefit for domestic pre-tax losses, and is primarily comprised of taxes on our Canadian and United Kingdom operations. The Company continued to maintain a full valuation allowance against its U.S. deferred tax assets, which is likely to result in significant variability of the effective tax rate in the current year. Changes in pre-tax income projections, combined with the seasonal nature of our businesses, could also impact the effective income tax rate each quarter.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfOTI_f5e717e4-314e-4c09-91f6-7269dedb4ce1"
      unitRef="usd">-541000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTEw_aeffc43f-5b7e-4907-8657-d4691094c4b8"
      unitRef="usd">-508000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTQ5_e47a3303-afce-4aa7-a7a0-59ebc8faa286"
      unitRef="usd">-2712000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMTc0_599d1d93-9bd9-4c88-8475-f7f114b60a5b"
      unitRef="usd">-2094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMjI4_e3e7483a-f6cf-4d5b-8579-4ed2a5a1204f"
      unitRef="number">0.199</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83MC9mcmFnOjRmYzM4ZDI0YTk0NjQ3N2ZiOWExMjM0YTFlNzc1ZjhiL3RleHRyZWdpb246NGZjMzhkMjRhOTQ2NDc3ZmI5YTEyMzRhMWU3NzVmOGJfMjM1_de49e5b8-aa27-41d5-9749-88ce5d8aed55"
      unitRef="number">0.243</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzI5OQ_1d686272-1d85-4f7c-9061-01f25b70a596">Stock-Based Compensation&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recorded stock-based compensation expense of $884 and $258 for the three months ended March 31, 2023 and 2022, respectively, related to restricted stock awards and performance unit awards. As of March&#160;31, 2023, unrecognized compensation expense for awards that the Company expects to vest approximated $7,388. The Company will recognize this unrecognized compensation expense over the upcoming 2.9 years through March 2026.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Shares issued as a result of vested stock-based compensation awards generally will be from previously issued shares that have been reacquired by the Company and held as treasury stock or authorized and previously unissued common stock.&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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock, Performance Share Units, and Performance-Based Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the 2022 Equity and Incentive Compensation Plan, successor to the 2006 Omnibus Plan, the Company grants eligible employees restricted stock and performance share units. The forfeitable restricted stock awards granted generally time-vest ratably over a three-year period, unless indicated otherwise by the underlying restricted stock award agreement. Awards of restricted stock are subject to a minimum one-year vesting period, including those granted to non-employee directors. Performance share units are offered annually under separate three-year long-term incentive programs. Performance share units are subject to forfeiture and will be converted into common stock of the Company based upon the Company&#x2019;s performance relative to performance measures and conversion multiples, as defined in the underlying program. The Company has, on occasion, issued performance share units with longer performance periods as incentivization and retention tools. If the Company&#x2019;s estimate of the number of performance share units expected to vest changes in a subsequent accounting period, cumulative compensation expense could increase or decrease. The change will be recognized in the current period for the vested shares and would change future expense over the remaining vesting period.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Since 2017, non-employee directors have been permitted to defer receipt of annual stock awards and equity elected to be received in lieu of quarterly cash compensation. If so elected, these deferred stock units will be issued as common stock six months after separation from their service on the Board of Directors. Since 2018, no non-employee directors have elected the option to receive deferred stock units of the Company&#x2019;s common stock in lieu of director cash compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2023, the Compensation Committee approved the 2023-2025 Long Term Incentive Plan which includes grants of performance share units and restricted stock. The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the three months ended March&#160;31, 2023:&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:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Restricted&lt;br/&gt;Stock&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred&lt;br/&gt;Stock Units&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Performance-Based Stock&lt;br/&gt;and Share Units&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Date 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2022&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174,173&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,478&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.77&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;367,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(57,329)&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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.54&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment for incentive awards expected to vest&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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,104&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.36&#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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of March 31, 2023&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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256,834&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496,140&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.61&#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:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensation
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTky_00a2054d-cde9-4282-b60c-7c0c4df2a889"
      unitRef="usd">884000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTky_1400e938-a63d-4e06-acc1-43f8095e2aab"
      unitRef="usd">884000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ieeccf59c4d014c0f9e6a4516f735c154_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTk5_1771bf32-39ad-4407-a24e-4cccd0cf93fc"
      unitRef="usd">258000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ic4d5d2dce02f4d9980504110fc5589ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNTk5_a79550c2-592c-432c-ac1d-10eea16ba09f"
      unitRef="usd">258000</us-gaap:ShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNzEy_20d0971a-461e-45dc-b39d-4383107a4d7b"
      unitRef="usd">7388000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfNzgw_ab0d221a-b101-4a1b-ba1b-93892ec82156">P2Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ifabcba39527245f1bba3fda32a7b2c1e_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwMg_4eab297f-f22a-4075-9648-ef1aad078319">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib5db3a3c79d94af3be08dd365100beb8_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzI5OA_6d703e4e-5e8e-4c58-997f-cc16e99dcc8a">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwMw_c8902c2a-e4dd-4942-bf7e-fe8b5c63dc16">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod
      contextRef="i31d5bc270ba642a3bcfeae8665897c82_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMjU0NQ_b2038d89-41c2-4ff1-8a48-2aae9a0ffc6f">P6M</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardDeferredReceiptPeriod>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RleHRyZWdpb246ZDgzNDVjYmNhMDMxNDFjMTkwZTcyNDc3NmQ0M2MzMzlfMzMwNQ_b5b6f68b-43ee-46a9-a2df-e782554c4479">The following table summarizes the restricted stock, deferred stock units, and performance-based stock and share unit activity for the three months ended March&#160;31, 2023:&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:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Restricted&lt;br/&gt;Stock&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred&lt;br/&gt;Stock Units&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Performance-Based Stock&lt;br/&gt;and Share Units&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Date 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of December 31, 2022&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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174,173&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,478&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.77&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;367,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(57,329)&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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.54&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment for incentive awards expected to vest&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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,104&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.36&#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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding as of March 31, 2023&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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256,834&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,268&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496,140&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.61&#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;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i3054a345d5fc4baeb4f71cc2da4fc7ef_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS0yLTEtMS0xMjU5MzM_cb39cabb-4c27-4b30-a29f-e5ec4c2cd254"
      unitRef="shares">174173</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i5912913655b04663a88c211af18eab5f_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS00LTEtMS0xMjU5MzM_dced9ea5-97f7-4a9d-844d-2d86f6c83a80"
      unitRef="shares">46268</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i73845e2921ae4bbbb49b64bf6906cfd1_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS02LTEtMS0xMjU5MzM_13602fb6-fc71-4104-8452-669345619bd8"
      unitRef="shares">108478</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMS04LTEtMS0xMjU5MzM_42011205-4177-4322-b1c0-ca3ae7633781"
      unitRef="usdPerShare">17.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi0yLTEtMS0xMjU5MzM_a412ee7e-81d2-4db7-9b19-54c063610ade"
      unitRef="shares">139990</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi00LTEtMS0xMjU5MzM_1178dd59-4d69-4284-bc23-1c6f299cd08d"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi02LTEtMS0xMjU5MzM_8571c7c3-926a-41b1-8ab6-834c1f411ccd"
      unitRef="shares">367558</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMi04LTEtMS0xMjU5MzM_32cad365-8826-456a-8b03-b92d23a78804"
      unitRef="usdPerShare">11.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy0yLTEtMS0xMjU5MzM_5fa1d4d9-1f9a-4390-9f67-7d1c92dae12f"
      unitRef="shares">57329</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy00LTEtMS0xMjU5MzM_b723beac-90bf-4171-a0fb-1a209a16ff5c"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy02LTEtMS0xMjU5MzM_8be793fb-748f-41bf-a518-bae14e69cca7"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfMy04LTEtMS0xMjU5MzM_7b0ec133-af2f-4699-be69-a9aa11dbabf5"
      unitRef="usdPerShare">16.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest
      contextRef="i44af22a8fd3042c597ff748b1376e8a9_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC0yLTEtMS0xMjU5MzM_d0f68b53-044f-4c80-9d12-70ef77dc9868"
      unitRef="shares">0</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest
      contextRef="i4393a3115885481ea02bf22b8ab18c82_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC00LTEtMS0xMjU5MzM_f614bf09-3ae2-455f-b811-2ab801f56f2a"
      unitRef="shares">0</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest
      contextRef="i6b3589a04089482d9351a88f23876f4f_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC02LTEtMS0xMjU5MzM_e002f330-2e46-42da-abeb-e555e3786ffa"
      unitRef="shares">20104</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVest>
    <fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNC04LTEtMS0xMjU5MzM_9788cd37-0040-45be-84e5-97f1b1aa95b1"
      unitRef="usdPerShare">15.36</fstr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentForIncentiveAwardsExpectedToVestWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ic1c82693c60f4c23b3e9d8a4006cf4fb_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi0yLTEtMS0xMjU5MzM_88699416-f321-4b67-a179-8eb6fca98556"
      unitRef="shares">256834</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i1ddb3375b8c34e8d9fc1ceb1a32c1e78_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi00LTEtMS0xMjU5MzM_64fdfb01-b6e8-4248-bd2b-c55085f21b03"
      unitRef="shares">46268</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i1fc16b9c4dfd49ffb6d93d0601eb035d_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi02LTEtMS0xMjU5MzM_9bf38b20-a50b-4c3c-a5b2-bcd97b9bc091"
      unitRef="shares">496140</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83My9mcmFnOmQ4MzQ1Y2JjYTAzMTQxYzE5MGU3MjQ3NzZkNDNjMzM5L3RhYmxlOjUyZWE5NmNlMjE0MDQxNjA5M2Y0NTJhZThhYWIzYWQyL3RhYmxlcmFuZ2U6NTJlYTk2Y2UyMTQwNDE2MDkzZjQ1MmFlOGFhYjNhZDJfNi04LTEtMS0xMjU5MzM_b779b0f0-3535-45ab-89fb-de056a4d1feb"
      unitRef="usdPerShare">14.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDU4MQ_0c742347-4d4a-40c2-94af-be8d95b9b588">Fair Value Measurements&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines the fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy includes three levels of inputs that may be used to measure fair value as described below:&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level&#160;1: Observable inputs that reflect unadjusted quoted market prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level&#160;2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level&#160;3: Unobservable inputs that are not corroborated by market data.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The classification of a financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement.&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:20.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.350%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term deposits&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',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:'Times New Roman',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 #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="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate swaps&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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:'Times New Roman',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="3" style="background-color:#ffffff;border-left:1pt solid #000;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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:'Times New Roman',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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,528&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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:'Times New Roman',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:'Times New Roman',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-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 colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,947&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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:'Times New Roman',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:'Times New Roman',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-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;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended March&#160;31, 2023 and 2022, the Company recognized interest income of $245 and interest expense of $97, respectively, from interest rate swaps.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDU4Mw_6b40c98a-da1c-418d-b6cb-88f31055b812">&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.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.350%"/&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:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Fair Value Measurements at Reporting Date&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31,&lt;br/&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 3&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term deposits&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',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:'Times New Roman',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 #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="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',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:'Times New Roman',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 #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate swaps&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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:'Times New Roman',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="3" style="background-color:#ffffff;border-left:1pt solid #000;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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:'Times New Roman',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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,528&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511&#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:'Times New Roman',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:'Times New Roman',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-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 colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,947&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,930&#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:'Times New Roman',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:'Times New Roman',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-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;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0yLTEtMS0xMjU5MzM_ac93bf11-583e-40c3-8350-62b977d6d8e9"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi00LTEtMS0xMjU5MzM_bbea0c62-5554-4cd1-8ed3-b6c188b4b3ed"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi02LTEtMS0xMjU5MzM_ce9209ac-2f9f-4855-81a8-e0d28b0e6064"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi04LTEtMS0xMjU5MzM_04da2975-d5bc-4cbc-9e39-910b343d01de"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xMS0xLTEtMTI1OTMz_015761ce-813c-4111-8f7f-6c27f0e73908"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib568587e419145de9b541b247ee12e38_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xMy0xLTEtMTI1OTMz_a7aa55ef-ab65-4507-8eda-1db5cefb3509"
      unitRef="usd">17000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xNS0xLTEtMTI1OTMz_5f9dd35e-d2e8-4de1-9987-185d9dce72b8"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMi0xNy0xLTEtMTI1OTMz_f4ffa85b-edce-44d6-889b-4dd4406dbd48"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0wLTEtMS0xMjU5MzM_a2284e76-8e51-4d01-b40a-68d7797f7e76">Interest rate swaps</fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag>
    <fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag
      contextRef="i6491aaeade364f539409a05361d2685e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0wLTEtMS0xMjU5MzM_a59026a2-f03f-40d5-bd49-705964ad08cc">Interest rate swaps</fstr:DerivativeAssetStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag>
    <us-gaap:DerivativeAssets
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0yLTEtMS0xMjU5MzM_57b7db73-691d-40ba-a585-6fda63c71aca"
      unitRef="usd">1511000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy00LTEtMS0xMjU5MzM_dde788c4-b9f4-4cab-b384-339efc3ba6bc"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy02LTEtMS0xMjU5MzM_09f47f80-b46f-4d37-aeaf-e3d39e289ecc"
      unitRef="usd">1511000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy04LTEtMS0xMjU5MzM_ab971232-932a-43be-919f-cf444e1acef6"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xMS0xLTEtMTI1OTMz_166c7c38-320c-4a3d-9b64-e9cad064f7e7"
      unitRef="usd">1930000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ib568587e419145de9b541b247ee12e38_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xMy0xLTEtMTI1OTMz_b6da5913-c0d8-4bd7-a172-dea1400b4ec3"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xNS0xLTEtMTI1OTMz_1b1db69d-ab0a-45cc-8438-6a7ffe35ee45"
      unitRef="usd">1930000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfMy0xNy0xLTEtMTI1OTMz_d779484f-566b-4c5e-86ad-d751cb687313"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0yLTEtMS0xMjU5MzM_32091bc1-a16e-412a-bf71-8a718fa4058b"
      unitRef="usd">1528000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ia1e7105ae8f0412fb746aaf31c584bbc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC00LTEtMS0xMjU5MzM_44e1d01e-315f-48cb-9122-6a90c22d7c15"
      unitRef="usd">17000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ic91bc42599cd4ab1b89ab8fa5c092184_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC02LTEtMS0xMjU5MzM_51b54d10-e6c6-44e2-b14b-b1189b9f9966"
      unitRef="usd">1511000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i975250c3e2ef4e89b997531cf1ff4fc7_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC04LTEtMS0xMjU5MzM_ca36d466-c459-4452-a129-6e9949ca30c2"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xMS0xLTEtMTI1OTMz_f7686896-ce73-4537-89bc-7ad53962c940"
      unitRef="usd">1947000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib568587e419145de9b541b247ee12e38_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xMy0xLTEtMTI1OTMz_a04923c6-d746-4206-90b3-a3cc2c6ddb17"
      unitRef="usd">17000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ie5ddf6053f394068a0ee439574d279d0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xNS0xLTEtMTI1OTMz_85418e2c-ea6f-4de2-911b-674d3bbf0463"
      unitRef="usd">1930000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ifd149e76690146fa8aee324769f1fc61_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RhYmxlOmM5MDZkYTE4YzcxMDRjNTFhMjc4M2JlNDkxOTU2MjMwL3RhYmxlcmFuZ2U6YzkwNmRhMThjNzEwNGM1MWEyNzgzYmU0OTE5NTYyMzBfNC0xNy0xLTEtMTI1OTMz_e4686174-cd73-4e52-a774-d55c08ec5353"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <fstr:InterestIncome
      contextRef="ia5ebb139ce8e4e77b16ffb1cf78f6195_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfMjc0ODc3OTA3NzEyNw_2a8d84e1-251a-424e-8830-1465447bf9b4"
      unitRef="usd">245000</fstr:InterestIncome>
    <us-gaap:InterestExpense
      contextRef="i5a07a79a93c94edbabc309d9ec9ace8e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83Ni9mcmFnOjYwY2E0YmU0NWEyZTQwYzM4OTJmMGE3MzgwMDNmMjdhL3RleHRyZWdpb246NjBjYTRiZTQ1YTJlNDBjMzg5MmYwYTczODAwM2YyN2FfNDIwNA_fe86f331-210b-4904-b71f-4efc5b5498a2"
      unitRef="usd">97000</us-gaap:InterestExpense>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3NQ_059ed8b5-9a7a-4083-92a1-57af633e9c01">Retirement Plans&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Retirement Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has three retirement plans that cover its hourly and salaried employees in the United States: one defined benefit plan, which is frozen, and two defined contribution plans. Employees are eligible to participate in the appropriate plan based on employment classification. The Company&#x2019;s contributions to the defined benefit and defined contribution plans are governed by the Employee Retirement Income Security Act of 1974, as amended (&#x201c;ERISA&#x201d;) and the Company&#x2019;s policy and investment guidelines applicable to each respective plan. The Company&#x2019;s policy is to contribute at least the minimum in accordance with the funding standards of ERISA.&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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains one defined contribution plan for its employees in Canada. In the United Kingdom, the Company maintains two defined contribution plans and a defined benefit plan, which is frozen. These plans are discussed in further detail below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;United States Defined Benefit Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United States defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&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 style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="3" style="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;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&lt;/span&gt;&lt;/td&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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension cost&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company expects to make total contributions of $400 to its to its United States defined benefit pension plan during 2023.&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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;United Kingdom Defined Benefit Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United Kingdom defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&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 style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="3" style="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;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of prior service costs and transition amount&lt;/span&gt;&lt;/td&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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension (income) cost&lt;/span&gt;&lt;/td&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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#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 style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;United Kingdom regulations require trustees to adopt a prudent approach to funding required contributions to defined benefit pension plans. For the three months ended March 31, 2023, the Company contributed approximately $84 to the plan. The Company anticipates total contributions of approximately $340 to the United Kingdom pension plan during 2023.&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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Defined Contribution Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company sponsors five defined contribution plans for hourly and salaried employees across its domestic and international facilities. The following table summarizes the expense associated with the contributions made to these plans for the periods presented:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;614&#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:'Times New Roman',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:'Times New Roman',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:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canada&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Kingdom&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135&#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:0 1pt"/&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;937&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;501&#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:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <fstr:NumberOfRetirementPlans
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNjQ_857727c4-5510-4fa2-beaa-d290e28492fd"
      unitRef="plan">3</fstr:NumberOfRetirementPlans>
    <fstr:DefinedBenefitPlanNumber
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTUx_ba92b712-69e3-4278-b751-7dfcb4ccaefd"
      unitRef="plan">1</fstr:DefinedBenefitPlanNumber>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3_33f1250c-9152-48b9-b883-fb9ad098a07a"
      unitRef="plan">2</fstr:NumberOfDefinedContributionPlans>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNzE4_3b397682-709f-4481-8ee8-83521ed7ad2b"
      unitRef="plan">1</fstr:NumberOfDefinedContributionPlans>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfNDM5ODA0NjUxMzI2OQ_065a07aa-a036-4978-a35c-f275788b918c"
      unitRef="plan">2</fstr:NumberOfDefinedContributionPlans>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3Ng_5a0cede0-9684-4aee-ade5-d26a0d37ee79">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United States defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&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 style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="3" style="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;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&lt;/span&gt;&lt;/td&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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension cost&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#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:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfMy02LTEtMS0xMjU5MzM_88dcc9a7-8216-4dab-a436-fcac9428ec61"
      unitRef="usd">71000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfMy04LTEtMS0xMjU5MzM_7463b30c-ba80-424a-a4ee-a9023d326108"
      unitRef="usd">49000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNC02LTEtMS0xMjU5MzM_1ae45505-4eab-4a25-b280-53efc2fe1cf2"
      unitRef="usd">64000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNC04LTEtMS0xMjU5MzM_62773370-ebdd-4bdb-a777-86081896e4e8"
      unitRef="usd">66000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNS02LTEtMS0xMjU5MzM_67d1b13b-c992-4534-a577-0c4d103fbf06"
      unitRef="usd">-16000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNS04LTEtMS0xMjU5MzM_dd4b52d5-4612-4a31-9ce9-e4b3d845f84d"
      unitRef="usd">-18000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNi02LTEtMS0xMjU5MzM_2d0a18f3-602a-4f27-942d-168630069def"
      unitRef="usd">23000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg0MDIxZWI1MWM3OTRhZTk5ODFlNzg4MzgzYzZjMGZhL3RhYmxlcmFuZ2U6ODQwMjFlYjUxYzc5NGFlOTk4MWU3ODgzODNjNmMwZmFfNi04LTEtMS0xMjU5MzM_5f36a120-fcb2-4cec-8a27-3a477d329509"
      unitRef="usd">1000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear
      contextRef="i8f48b19afaf0482797a80675aac94512_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTIwMw_4b87af09-5f14-4eb4-9c15-a6422c6388ba"
      unitRef="usd">400000</us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3OA_f3811ef1-70e5-461b-9f2a-7f29ba2f1ed0">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net periodic pension costs for the United Kingdom defined benefit pension plan for the three months ended March 31, 2023 and 2022 were as follows:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&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 style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended&lt;br/&gt;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="3" style="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;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of prior service costs and transition amount&lt;/span&gt;&lt;/td&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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognized net actuarial loss&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension (income) cost&lt;/span&gt;&lt;/td&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;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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#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:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMi02LTEtMS0xMjU5MzM_cbda4457-c9d4-4a67-b09f-a8b80ff74dd8"
      unitRef="usd">55000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMi04LTEtMS0xMjU5MzM_8988fdee-611a-4d2e-b0c2-8eca5da1a30a"
      unitRef="usd">45000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMy02LTEtMS0xMjU5MzM_ac60a4b6-f0e4-4892-b8e0-f335e9e9a4f6"
      unitRef="usd">83000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfMy04LTEtMS0xMjU5MzM_8493a032-d00b-4391-b36d-480bfdf3b058"
      unitRef="usd">81000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNC02LTEtMS0xMjU5MzM_5ba4c0be-c0d0-43d8-a006-4586399647e4"
      unitRef="usd">6000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNC04LTEtMS0xMjU5MzM_bcb89b97-ffb5-472f-800d-ec087f4e696b"
      unitRef="usd">6000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNS02LTEtMS0xMjU5MzM_93bc0578-31f7-4568-a5e8-13948f3b2edf"
      unitRef="usd">-3000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNS04LTEtMS0xMjU5MzM_2d9b2d3e-f9b2-4f20-8d79-3807a0c1506b"
      unitRef="usd">-42000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNi02LTEtMS0xMjU5MzM_0e7a80c2-8c13-4eb5-a9ec-cce2c0f1e868"
      unitRef="usd">-19000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOmY2YzRiMjJhMDM5ODRhNDQ4ZWVjNmFmZTgwZmUzYTRjL3RhYmxlcmFuZ2U6ZjZjNGIyMmEwMzk4NGE0NDhlZWM2YWZlODBmZTNhNGNfNi04LTEtMS0xMjU5MzM_64f77292-ec11-44a6-9b64-15e733b75851"
      unitRef="usd">12000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTU2MQ_b7b51ae4-ce56-4a8c-af1d-d0f5da9c5b84"
      unitRef="usd">84000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear
      contextRef="i03aaeb010a994532b372833fdbda117a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTYzOA_9d55184d-6c46-40ab-b5c6-bc8560f30b01"
      unitRef="usd">340000</us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsCurrentFiscalYear>
    <fstr:NumberOfDefinedContributionPlans
      contextRef="if37f45c29c0947b7be845886c8bee4ec_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTczNg_6776b5e2-281c-4ad6-b961-3b1fcb66374c"
      unitRef="plan">5</fstr:NumberOfDefinedContributionPlans>
    <us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RleHRyZWdpb246MTU1YWU3NTZkOWVjNDQxOGFmNTUyMjNmOTAxNjQ3ZjZfMTk3OQ_f1761435-3836-4311-b284-ee95238bd5ab">The following table summarizes the expense associated with the contributions made to these plans for the periods presented:&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:75.288%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.013%"/&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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;614&#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:'Times New Roman',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:'Times New Roman',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:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canada&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Kingdom&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135&#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:0 1pt"/&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;937&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;501&#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;</us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="if69625c46e3a4fb5a21a4b2bf501bca0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMi0yLTEtMS0xMjU5MzM_758d816c-a7be-44bf-9cd2-72a97b9b94db"
      unitRef="usd">614000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i3ba0a72ee7e3462381c65f29acbf32ca_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMi00LTEtMS0xMjU5MzM_d750b60d-a7df-47b5-8e0a-b09a53442ade"
      unitRef="usd">305000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i38f0ac855fdb4dd79569c05a4972b0ba_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMy0yLTEtMS0xMjk3NjA_8d4b94e3-52f2-4ce5-a712-e7d6875ff4dc"
      unitRef="usd">62000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i8b23aea0f1804af6bc31cee106d39ff2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfMy00LTEtMS0xMjk3NzI_d884a006-4104-49eb-bb18-d92701f3f47c"
      unitRef="usd">61000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i6ecfcc2e76404702a8f7467b49c78857_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNC0yLTEtMS0xMjU5MzM_da28f7e9-d682-4281-ac9f-cd57e4f4e785"
      unitRef="usd">261000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i12f1cd40953a47bd8d83c46e680a3077_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNC00LTEtMS0xMjU5MzM_cf06bb8a-3c37-4312-8e91-5b209fdab158"
      unitRef="usd">135000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNS0yLTEtMS0xMjU5MzM_af12c089-485a-419d-bb83-9e207bed876b"
      unitRef="usd">937000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i84095dfea4f2415abae1a2ae7fe788e9_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV83OS9mcmFnOjE1NWFlNzU2ZDllYzQ0MThhZjU1MjIzZjkwMTY0N2Y2L3RhYmxlOjg4YTA0MDY4ZWVkMzRkOGY4MjU3MWYyM2ZlOWY1YmM1L3RhYmxlcmFuZ2U6ODhhMDQwNjhlZWQzNGQ4ZjgyNTcxZjIzZmU5ZjViYzVfNS00LTEtMS0xMjU5MzM_f6d1bc29-6bd0-4fbf-8d14-07b796c2504f"
      unitRef="usd">501000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNjM0Mw_293eaac1-eb28-4222-815e-9dd80dc0917d">Commitments and Contingent Liabilities&lt;div style="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Product Liability Claims&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to product warranty claims that arise in the ordinary course of its business. For certain manufactured products, the Company maintains a product warranty accrual, which is adjusted on a monthly basis as a percentage of cost of sales. In addition, the product warranty accrual is adjusted periodically based on the identification or resolution of known individual product warranty claims.&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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Union Pacific Railroad (&#x201c;UPRR&#x201d;) Concrete Tie Matter&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 13, 2019, the Company and its subsidiary, CXT Incorporated (&#x201c;CXT&#x201d;), entered into a Settlement Agreement (the &#x201c;Settlement Agreement&#x201d;) with UPRR to resolve the pending litigation in the matter of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Union Pacific Railroad Company v. L.B. Foster Company and CXT Incorporated&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, Case No. CI 15-564, in the District Court for Douglas County, Nebraska.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the Settlement Agreement, the Company and CXT will pay UPRR the aggregate amount of $50,000 without pre-judgment interest, which began with a $2,000 immediate payment, and with the remaining $48,000 paid in installments over a six-year period &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;commencing on the effective date of the Settlement Agreement through December 2024 pursuant to a Promissory Note. Additionally, commencing in January 2019 and through December 2024, UPRR agreed to purchase and has been purchasing from the Company and its subsidiaries and affiliates, a cumulative total amount of $48,000 of products and services, targeting $8,000 of annual purchases per year beginning March 13, 2019 per letters of intent under the Settlement Agreement. During the third quarter of 2021, in connection with the Company&#x2019;s divestiture of its Piling Products division, the targeted annual purchases per year have been reduced to $6,000 for 2021 through 2024. The Settlement Agreement also includes a mutual release of all claims and liability regarding or relating to all CXT pre-stressed concrete railroad ties with no admission of liability and dismissal of the litigation with prejudice.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected payments under the UPRR Settlement Agreement for the remainder of the year ending December&#160;31, 2023 and thereafter are as follows:&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:87.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#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;/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;/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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,000&#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="margin-bottom:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Environmental and Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to national, state, foreign, provincial, and/or local laws and regulations relating to the protection of the environment. The Company&#x2019;s efforts to comply with environmental regulations may have an adverse effect on its future earnings.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On June 5, 2017, a General Notice Letter was received from the United States Environmental Protection Agency (&#x201c;EPA&#x201d;) indicating that the Company may be a potentially responsible party (&#x201c;PRP&#x201d;) regarding the Portland Harbor Superfund Site cleanup along with numerous other companies. More than 140 other companies received such a notice. The Company and a predecessor owned and operated a facility near the harbor site for a period prior to 1982. The net present value and undiscounted costs of the selected remedy throughout the harbor site are estimated by the EPA to be approximately $1.1 billion and $1.7 billion, respectively, and the remedial work is expected to take as long as 13 years to complete. These costs may increase given that the remedy will not be initiated or completed for several years. The Company is reviewing the basis for its identification by the EPA and the nature of the historic operations of a Company predecessor near the site. Additionally, the Company executed a PRP agreement which provides for a private allocation process among almost 100 PRPs in a working group whose work is ongoing and involves a process that will ultimately conclude a proposed allocation of liability for cleanup of the site and various sub-areas. The Company does not have any individual risk sharing agreements in place with respect to the site, and was only associated with the site from 1976 to when it purchased the stock of a company whose assets it sold in 1982 and which was dissolved in 1994. On March 26, 2020, the EPA issued a Unilateral Administrative Order to two parties requiring them to perform remedial design work for that portion of the Harbor Superfund Site that includes the area closest to the facility; the Company was not a recipient of this Unilateral Administrative Order. The Company cannot predict the ultimate impact of these proceedings because of the large number of PRPs involved throughout the harbor site, the size and extent of the site, the degree of contamination of various wastes, varying environmental impacts throughout the harbor site, the scarcity of data related to the facility once operated by the Company and a predecessor, potential comparative liability between the allocation parties and regarding non-participants, and the speculative nature of the remediation costs. Based upon information currently available, management does not believe that the Company&#x2019;s alleged PRP status regarding the Portland Harbor Superfund Site or other compliance with the present environmental protection laws will have a material adverse effect on the financial condition, results of operations, cash flows, competitive position, or capital expenditures of the Company. As more information develops and the allocation process is completed, and given the resolution of factors like those described above, an unfavorable resolution could have a material adverse effect. As of March&#160;31, 2023 and December&#160;31, 2022, the Company maintained environmental reserves approximating $2,448 and $2,472, respectively.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is also subject to other legal proceedings and claims that arise in the ordinary course of its business. Legal actions are subject to inherent uncertainties, and future events could change management&#x2019;s assessment of the probability or estimated amount of potential losses from pending or threatened legal actions. Based on available information, it is the opinion of management that the ultimate resolution of pending or threatened legal actions, both individually and in the aggregate, will not result in losses having a material adverse effect on the Company&#x2019;s financial position or liquidity as of March&#160;31, 2023.&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If management believes that, based on available information, it is at least reasonably possible that a material loss (or additional material loss in excess of any accrual) will be incurred in connection with any legal actions, the Company discloses an estimate of the possible loss or range of loss, either individually or in the aggregate, as appropriate, if such an estimate can be made, or discloses that an estimate cannot be made. Based on the Company&#x2019;s assessment as of March&#160;31, 2023, no such disclosures were considered necessary.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxNzQ0_df1bd123-0042-460f-886e-31d4947959f7"
      unitRef="usd">50000000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent
      contextRef="i6ccdd48888be4d76b22f81276d84307c_I20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxNzk4_ec5a549c-c2f2-4cec-882c-c564c88da2b4"
      unitRef="usd">2000000</fstr:LitigationSettlementAmountAwardedToOtherPartyCurrent>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent
      contextRef="i6ccdd48888be4d76b22f81276d84307c_I20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIxODQ0_2ed9eddf-62ae-4162-bb5b-4520a74b0469"
      unitRef="usd">48000000</fstr:LitigationSettlementAmountAwardedToOtherPartyNonCurrent>
    <fstr:LitigationSettlementInstallmentPaymentTerm
      contextRef="i835e9fb871134d94bb7aa59eacb98adb_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNDk0NzgwMjMzNTE0OQ_dd77e419-e37d-4069-82e8-3bedb506a1ca">P6Y</fstr:LitigationSettlementInstallmentPaymentTerm>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="i2901e860fe3b44048e366c92e31ac929_D20190313-20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzk2_98d42948-e97a-4932-a18c-f7df2f7abd3e"
      unitRef="usd">48000000</us-gaap:LongTermPurchaseCommitmentAmount>
    <fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount
      contextRef="i88a60ef531c44caeb3094fe0a0f1d324_I20190313"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzky_aed982b5-c27b-43a8-844f-cebbcdb13d2a"
      unitRef="usd">8000000</fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount>
    <fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount
      contextRef="i9efa7996f27a4a84b08c787505291a52_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTQ5NzU1ODIyNzg4_4819a713-1efa-4bb3-8f71-6224e13e0a4e"
      unitRef="usd">6000000</fstr:LongtermPurchaseCommitmentAnnualCommitmentAmount>
    <fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNjMzOA_31ed003f-8f48-4269-8f86-c35088775381">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected payments under the UPRR Settlement Agreement for the remainder of the year ending December&#160;31, 2023 and thereafter are as follows:&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:87.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.012%"/&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,000&#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;/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;/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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,000&#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;</fstr:ScheduleOfFuturePaymentsOfLegalSettlementsTableTextBlock>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfMS0yLTEtMS0xMjU5MzM_ae05788f-75dd-4d72-a3e4-871c49425383"
      unitRef="usd">8000000</fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentRemainderOfYear>
    <fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfMi0yLTEtMS0xMjU5MzM_6cd89670-446e-4fd1-9b0e-922e4fd9373a"
      unitRef="usd">8000000</fstr:LitigationSettlementAmountAwardedToOtherPartyScheduledPaymentYearOne>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RhYmxlOmY0ZmZmMDJkMDQzNjQ5OTc5OTU0MWU0NWVjNDFhYzg3L3RhYmxlcmFuZ2U6ZjRmZmYwMmQwNDM2NDk5Nzk5NTQxZTQ1ZWM0MWFjODdfNy0yLTEtMS0xMjU5MzM_e6b58fb8-d165-426c-b640-d3ce0341d546"
      unitRef="usd">16000000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <fstr:NumberOfCompaniesReceivingGeneralNoticeLetter
      contextRef="if9631e06a9af44149a25f259886981f3_I20170605"
      decimals="-1"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMjgxNw_f7c1c3a5-c8db-42e2-9947-a9a73f51ba3a"
      unitRef="company">140</fstr:NumberOfCompaniesReceivingGeneralNoticeLetter>
    <fstr:PresentValueOfProposedRemedialWork
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzEwOQ_cc1415b2-fd2a-43b0-863e-711bd9353b4c"
      unitRef="usd">1100000000</fstr:PresentValueOfProposedRemedialWork>
    <fstr:UndiscoveredRemedialWork
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzExNg_9c752dc9-0e3b-4a2e-8585-c9a4f3a56731"
      unitRef="usd">1700000000</fstr:UndiscoveredRemedialWork>
    <fstr:RemedialWorkAnticipatedCleanUpPeriod
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzE4Nw_833b7a50-971c-4346-8fa7-5b8c4c8423e2">P13Y</fstr:RemedialWorkAnticipatedCleanUpPeriod>
    <fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-2"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzU2Nw_09d0b013-ed41-4755-8345-624dbbe7170e"
      unitRef="potentially_responsible_party">100</fstr:NumberOfPotentiallyResponsiblePartiesIncludedInAgreement>
    <fstr:NumberOfPartiesRequiredToPerformRemedialWork
      contextRef="i29c0c6abf606419989d3a89721acf83e_I20200326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfMzg0ODI5MDcwNzQwMA_bf1d59a1-6550-4b20-853e-9cbef58b95d7"
      unitRef="party">2</fstr:NumberOfPartiesRequiredToPerformRemedialWork>
    <fstr:EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag
      contextRef="i3b397df85ee3438993bcd1796423d1a3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNDk0NzgwMjMzNTE1Mw_2ead225b-7b49-4a50-8469-2605d897485a">financial condition</fstr:EnvironmentalLossContingencyStatementOfFinancialPositionExtensibleEnumerationNotDisclosedFlag>
    <us-gaap:AccrualForEnvironmentalLossContingencies
      contextRef="id6663316f78349588622c6997f0c313e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTA5NA_c9d91102-0b28-486f-9698-c74c23f39204"
      unitRef="usd">2448000</us-gaap:AccrualForEnvironmentalLossContingencies>
    <us-gaap:AccrualForEnvironmentalLossContingencies
      contextRef="ie1c2cdd5771541dfa97546b5614c9de8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV84Mi9mcmFnOjZjNjQ0OTYyMDlhMzQ4Nzc4YTJiNGM0ZmVlOWI1NGUxL3RleHRyZWdpb246NmM2NDQ5NjIwOWEzNDg3NzhhMmI0YzRmZWU5YjU0ZTFfNTEwMQ_01c4640e-836a-47c6-ad6e-1ea4d124adfc"
      unitRef="usd">2472000</us-gaap:AccrualForEnvironmentalLossContingencies>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Reclassifications out of &#x201c;Accumulated other comprehensive loss&#x201d; for pension obligations are charged to &#x201c;Selling and administrative expenses&#x201d; within the Condensed Consolidated Statements of Operations.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS02LTEtMS0xMjU5MzM_3cd150a7-6983-47e9-b829-c5ac5203e841"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmUwMDdkZDdmZjA4ZTRhYWViNTdmMzkwMmVhOTBmMGRkL3RhYmxlcmFuZ2U6ZTAwN2RkN2ZmMDhlNGFhZWI1N2YzOTAyZWE5MGYwZGRfOS04LTEtMS0xMjU5MzM_35b5a53d-e8cc-42a7-8bc9-d82a511ececa"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjg5ODViMGZkNmRkNjQ0ZWY4NDg1NTMxMzE5NmJhNGQ1L3NlYzo4OTg1YjBmZDZkZDY0NGVmODQ4NTUzMTMxOTZiYTRkNV8yMi9mcmFnOjI3Mzg2MzFkNWM4NTRhNTZiMDRjZmI3ODkyN2Q0OTYyL3RhYmxlOmFjMzdkNzc0YmI5NzQ3YzhhNzVkMDI3ZWUyMzNiNmJlL3RhYmxlcmFuZ2U6YWMzN2Q3NzRiYjk3NDdjOGE3NWQwMjdlZTIzM2I2YmVfMC0xLTEtMS0xMjU5MzM_c27b448e-14b7-4c00-a362-6ec4daaec232"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
