<?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/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:dxpe="http://www.dxpe.com/20211231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:stpr="http://xbrl.sec.gov/stpr/2021"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="dxpe-20211231.xsd" xlink:type="simple"/>
    <context id="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i02ab76288c5e47189141e6f0896bf846_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i7b2e5886cc7b4482830fa5d5fd272301_I20220304">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <instant>2022-03-04</instant>
        </period>
    </context>
    <context id="i388c96f2fb8d452eb7cb2e76bc759609_D20190101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1523d127f943497b982d3886e2c8625b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i347743865e8c4d5ca7f315e122e77314_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7e98caa88a7f46e5a15dad55f6f6dd9a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1a9b82cbb1874ded8838d9d56898af27_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if3f3b5d406f4483c92c676469c6bf635_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i994b6d681d024e61ac5416fc2d71a3ac_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i556c9a003d5a4effa512443069b9f1ac_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i23fdb78e0ab04d078d1a10b84ef9ce5d_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i967905e21f2541bdbe6c8cd0f0362cfc_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ia9dddd5ac3cd4294a202e79cf77487b1_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i06d9fbf7fe794a429d19bd7c54de08ef_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i55fda7a65d284f70bf49e726afa50cae_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i7aa73b04234142baaed815897b3dfcef_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i22b04796d5d64e4bae83ce82bd6f6952_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="iffad592b50c3428ea40460508ffb4d83_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i8101c9c6be8b422199e451e263130a09_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i7149d307c4054c8a94db3e4261a35697_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib201c15f9fd14d54bcc2bdd4c943d838_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7f0b80e6e044400b99e111e4e5cbfc3e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="idb6da1a27315496da8e6274f2152dc28_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8020e707a23f45939bc978665619a79e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i58b5a4d7e62a42a481e73974fd1472b8_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i16f15d05c7c849dd9dfa1ea4ad2d0c48_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="icbed312049ac4a8b945eb7da3bc8e2cd_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i37b0f419986c4f0d87b828ef259e5981_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1f45320647e14a38a9809126f30bf7ab_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i6e922fb0c5434e5f931c810ee7fa3814_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ibe632762f3464a8b98bd737333d8658d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ibc44c61dca684fc7bffd13d759152369_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4b5d3afb25ea4c069ad0e7c38d724da1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic17c68fe679343f6b665999462c109de_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib2a715e0f3ef4b0291737f9a9744f24b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i188b58ffd6fd4f23836bf58e2d349c51_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4279257102f440e89ee16c77f52bc251_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifa1007a945c34eb4af328116a3d21d91_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iefb2d8e44f1b4d2b9c146677532d8588_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0008c715edd14ec3891b51ae4abab351_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5b6a28426b78403a820483286619ccdd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i962fa64063f341beade908d296e725c6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie0fbf1baa611445abfc4df5a1e01225d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5a47a2d6e645472e943b410d00adc304_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0c55a2084aad4e14bd87fb2f47af7e15_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i02fd405e34f24a5883438525142d3423_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0130af4d22a443299fdc842012489ffb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i24b5c8944c2949c698b9c31c9b9779ee_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3231d8af3f024105a5871864c79df6d5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idd3693e093014674820c7b85a6aca3cb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2d5eee9b9ed14a819fe94d4ae42fe8e3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie424979d65b9446193f593576e5342dc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if3f986a319ce44059259643c75997429_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</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="iced73de925334cedbbe006c56db91322_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</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="iecd6bc431deb4fd2a24a951a18ef882d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</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="i1de66b1fc58c4baf91803ea8ad55fc08_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i246a0b636a92405e9eb5018ec892fae5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</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="i9d272013f98f449f8e103a4a6cc1b4c8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</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="iebc8e609c4da4079b60c31f1b5b1d2aa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id224bdd8c482440bb27b134607bffc94_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7a8fe544465d4de8a689e26aec1b5c4a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iffdb918f72c0434183717d4683e3c880_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dxpe:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i114c02f61a6c49cd90b12a5ffb1dbc02_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibe1d2bc6f8594381b65ad13900510e45_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iefafaef3a46542eeabfdfdefc90b43b9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i99d4017667684c6f89a655d31e72318e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i79d72abdcd0a46aeb129e57fbd3c5255_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="icc234b40e42e447bbe76cd518a842b58_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic0e4e16b30174eddb9222e6821169930_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i358c8b6ebfaf4be1916cc871f47dae67_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i32129c6200ff4688a0718e39043436f9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if65dab35dbe74dd9a82318b547b1b3eb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ReinsurancePolicyTypeAxis">dxpe:SelfInsuredInsuranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3c22f4dca54845e19343f1577d3442d0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ReinsurancePolicyTypeAxis">dxpe:MedicalClaimsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i85a727c921f74d89b6bde32ed28e19d8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie18c040920724049ae617801d22e3fb5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibefde919e453406283cf1255a1ef0207_I20190101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
        </entity>
        <period>
            <instant>2019-01-01</instant>
        </period>
    </context>
    <context id="ibf6d781d4dce4efa8db43f22ca6d194a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i17f973e504414c51a84620e90f1b4c92_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">dxpe:OtherCurrentandNoncurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:ProcessMachineryLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifb72feb898b1453a94d0f79f45aef4c8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">dxpe:ContingentConsiderationLiabilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6e6691877add4f9781c3d11c3da743d4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">dxpe:ContingentConsiderationLiabilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i703b158a18d343638bfa4d1d37ac310a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">dxpe:ContingentConsiderationLiabilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id569be2ccde24813a0b11d1d1086e1f5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:ProcessMachineryLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">dxpe:AnnualizedEBITDAAndProbabilityOfAchievementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i097b5923ed514347a82aa3f9899e2bea_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i49b8033d420e499487d680cc0e5a09f9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib8bbd4855abf4e2c8e530f7ee7857966_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i94cb3340df164f328d34c28336af2150_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i36818767f6f24617a123d5c56e67683e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if507b9e4b0394ddcb455f1ef439c488b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if887a01a5a0c48efb86e5e309dc17e80_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3693573a68784c08979a484011fee7d0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i79c6d27e42894f8f8571fda731d45cd4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic8ac5250d2864371b97d0e09b9ce0145_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7cf73b0e098d4f448e2aa3c7ba240cc7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0378301faa63473184f98a1d17758b3a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i44d919039834454a9adc5a28e1c4ce04_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if8e9aa7151d8490f9149b18b5293f287_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9ada97d3bbda4c19b2b075cb0f45d3b9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i516fe8dddc824ff4af34a5197f86bb09_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i249fc7cfa60642a6aedd10ca6fa0c820_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic1b26b499c744be88d854c2c04128a0f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i19bfec4aaafd463fb79c9f1938e3f8b4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iba6213f237924eeda7e0a28db0f350fc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie0b45b1692294f67a1cb751c4e7cb91c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1b1e8dd2f94d49df9c1f89709b8a3a3f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic07e97f19a0343208e4f5f6a8abc1bdb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:TermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iae78311e8e1f4a9aab556a9f565e73a0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:TermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib1798fa1cf3e4016bf522cf6fd5a0102_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:TermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic3f0fa91f0394f14b37418bd7001da7f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:TermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i507b120f53814dd795eb9c4e0b1cc703_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i54d88a63c265407fa35e44eb3d36f84a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i52a92f0499cf45cc9ea989a00c22e6c9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9427224bddc0434b900e75297f9289e4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i157fcfab54bd4fda8a97ed42834f1d06_I20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-17</instant>
        </period>
    </context>
    <context id="i321a201b9cb6444fbaaad87864e65db2_D20200317-20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-17</startDate>
            <endDate>2020-03-17</endDate>
        </period>
    </context>
    <context id="iaddf8449dcee4e3380f6790453b39a50_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2b22d634b8a7406e9282fa289042516e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2e13a0481df744a58b6f016ed66913d4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icffd4cfa8aff416a80960bf195b5bc6e_D20200317-20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dxpe:LondonInterbankOfferedRateLIBOROrCanadianDollarOfferedRateCDORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-17</startDate>
            <endDate>2020-03-17</endDate>
        </period>
    </context>
    <context id="ic5c1f48a75674f388b742360d8c4e8ec_D20200317-20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dxpe:LondonInterbankOfferedRateLIBOROrCanadianDollarOfferedRateCDORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-17</startDate>
            <endDate>2020-03-17</endDate>
        </period>
    </context>
    <context id="ia26ffe4bfb4e4a64829ffbe323fcdf19_D20200317-20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dxpe:CanadianPrimeRateOrCanadianBaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-17</startDate>
            <endDate>2020-03-17</endDate>
        </period>
    </context>
    <context id="i93c597fca8894f08879fc8e22e790ce6_D20200317-20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dxpe:CanadianPrimeRateOrCanadianBaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-17</startDate>
            <endDate>2020-03-17</endDate>
        </period>
    </context>
    <context id="i23a7d675442b4772bcd931e3916772b4_D20200317-20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-17</startDate>
            <endDate>2020-03-17</endDate>
        </period>
    </context>
    <context id="i3c3c57e8765d460f9c250d7f87e21b3c_D20200317-20200317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-17</startDate>
            <endDate>2020-03-17</endDate>
        </period>
    </context>
    <context id="ic11cb98e54ed4d0d88cb6f1641a7e59f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i47e4d8bb2189431083902ac694b5122c_D20201223-20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-23</startDate>
            <endDate>2020-12-23</endDate>
        </period>
    </context>
    <context id="i1a5fbc90412448108088ba384d3ab127_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i0c1fe6cce93b4829a595e4e7a0011149_D20201223-20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-23</startDate>
            <endDate>2020-12-23</endDate>
        </period>
    </context>
    <context id="i92996a09659e4c5bafbb6df80af0cff3_D20201223-20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-23</startDate>
            <endDate>2020-12-23</endDate>
        </period>
    </context>
    <context id="i0f3d7acb1fde4f83b784cf5bdcdd4b4d_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantTotalLeverageRatioOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i369423dd132146978f9cefe4a240fd0c_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantTotalLeverageRatioTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i1e6c74f326e643b5aeac00ed22fedb20_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if09cdb63c6b64c6687d2008945966ae4_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantPeriodOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i1b902783b1aa49a29e981dc164808bfe_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantPeriodTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i6b5039cf54c948659f849b39d4d74188_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantPeriodThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i996fe9cfd423468c957fe4788b0b7560_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantPeriodFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i5460a7bed9d44efcb2deabb2644d9318_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantPeriodFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i686c0b305a044811adaebbea48067ed0_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantPeriodSixMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i85cd107f589543f69099d49f27dcba36_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dxpe:SeniorSecuredTermLoanBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dxpe:DebtCovenantAxis">dxpe:DebtCovenantPeriodSevenMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="if07a8c14a52b4c4ab5622d2938c0f8dd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia2c6ce81a60448749f89755db1bc9da8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:ABLRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i25e92db3575343489dc15c8d0f3998f2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:TermLoanBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i915d7cb646da48dba9732a3c3a46cd31_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:TermLoanBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6c23c37138f5443d8715da44ee000139_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:OriginalTermLoanAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:ValuationTechniqueDiscountedCashFlowMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="ia89d9ed5da6741a18947791dd92f86fd_I20201223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:OriginalTermLoanAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-23</instant>
        </period>
    </context>
    <context id="i8a3d4d123b6e4a3099d0e364de6ba19d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dxpe:OriginalTermLoanAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i167aef87482f40c3b47ea1ac8aa11012_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia14f2401db40491b88136e43146c7c27_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0caffaabc62f4f028b1dce1b86094309_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:TX</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i553a688e124440fe84331d9d51d7240d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:TX</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib69e215b298e49c8bfc74c44fa5d04e9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:LA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7cd6d08683164178bfbc3b3d9618d669_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:LA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i70b1ec4c7cf54978bc6747eee2ddf87f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4a77493ae0d24babb27b2043a4746b21_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib0a121a5a01342e3aa7cda144e41bfc7_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i722f88168e0c4923952b6f15b1d96ce8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iac6780365f3a4aeba1272cf438528d22_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ife12d11fb0c043239c6ebb186344f759_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i03d33e217a3a4015a657b326ad01ebae_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if6ef4e158b3340d9a6809a5ea58d31d3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ied1706b9cad74c319e6ee50603c0cea8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:CapitalLossCarryforwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id1a96b1d50a244309774658fda20d5ef_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:CapitalLossCarryforwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i793a49b7965743cb8271db3b24d26309_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">dxpe:ForeignTaxCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5306fd0a8f7c434883d6a13d46df6248_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:GeneralBusinessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia95518aa9ec948d891d1c0bee9126036_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:TX</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4ce2e9d9d01a4ee5a4920634e4783b8f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:LA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8e982ccdc3e14571996c6b5fd533aa9e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">dxpe:DomesticAndStateAndLocalTaxAuthoritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i45faba09c94a468b874e4055f7d92e61_I20160620">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-06-20</instant>
        </period>
    </context>
    <context id="i6803bc28f3fc438e97216033bd24c6f0_I20190619">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-19</instant>
        </period>
    </context>
    <context id="ibaa9650649244fc895e3ee245103b892_D20190619-20190619">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-19</startDate>
            <endDate>2019-06-19</endDate>
        </period>
    </context>
    <context id="idca775b6fc374362925bdbfc01647677_I20190619">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-19</instant>
        </period>
    </context>
    <context id="ibb91d2eea3e24d859489b1735177ba07_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id70566a9b42b4033835384dc108f1e48_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dxpe:NonEmployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if4268c3313d54dad8de36b366247be1a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iffebe8f1919e4698889bcc92a536b085_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i269c696a4a8747399b8330d8d85812f6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8943c69e8d3d416788b8a4035cf543e2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i0f9920883a704aedbada7d784d5db659_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie8e37d1db57b4e40bd38273dd98ff5c1_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib8f9ac823700497cbf3a1d6bce6f4d21_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic454664c21f64588bdda2ee500ab1873_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i25fe6b00b7aa4c2baf11fbe5c9ff2ef2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dxpe:Two016OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3b74c089e5c340e19def93143564581d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i64af7461ee754f13a1fea0fb773267c4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iaa7e6845c00c4afea9b7355815faf5dd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4642807121114268808fb96f6d0674c1_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia7451d2d589d4fd1808dbac6b5205d20_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesBPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3de752fcbd6a4f53b293e2071356c17c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibd269fd5d43445459f28c5bd8c0d4a5d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifef15e174c414572a592e9d7dff501b8_I20210512">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">dxpe:ShareRepurchaseProgramMay2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-12</instant>
        </period>
    </context>
    <context id="i3b0a2c85ad214a7981e01fe779d0ee41_D20210512-20210512">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">dxpe:ShareRepurchaseProgramMay2021Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-12</startDate>
            <endDate>2021-05-12</endDate>
        </period>
    </context>
    <context id="if11cda8649524a419592a912ce6c293e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">dxpe:ShareRepurchaseProgramMay2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibe1472d4f6d34184945f3256999c4c55_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">dxpe:ShareRepurchaseProgramMay2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i00562b43c6c94cacae0394962338c625_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">dxpe:ShareRepurchaseProgramMay2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0e136cd617a14bc0a7e6b5a4a4e3bee7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">dxpe:ShareRepurchaseProgramMay2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if6cbeca39b74425f80aa4545051dd10e_I20200511">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">dxpe:BMOCapitalMarketsCorpMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-11</instant>
        </period>
    </context>
    <context id="i4dc4fceee5b440e384ea384c2cce44a4_D20200511-20200511">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">dxpe:BMOCapitalMarketsCorpMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-11</startDate>
            <endDate>2020-05-11</endDate>
        </period>
    </context>
    <context id="if44ecf64cc9e4f418e4b3590a249a12a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">dxpe:BMOCapitalMarketsCorpMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i74d0ed8e5a2b46609a086e576067cad3_D20210430-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:CarterVerplanckLLCCVIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-30</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i21c157b9bb6746538fd12aba247b3426_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:CarterVerplanckLLCCVIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i34bf381de5664c00a8fbb5662f1ad88d_D20210701-20210701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:ProcessMachineryLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-01</endDate>
        </period>
    </context>
    <context id="i10288ee7f0ae484a8e14b850be48a8fe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:ProcessMachineryLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i26b72bbe044b430aaa7b42cde2028ef6_D20200920-20200920">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:PremierWaterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-20</startDate>
            <endDate>2020-09-20</endDate>
        </period>
    </context>
    <context id="ifedd33e897b842828429ed49fc24f2f8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:PremierWaterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iafd1974b4e09408aa945def608e7f7ef_D20201231-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:TotalEquipmentCompanyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-31</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icec2454f11bc4a458c7bd7fb5c8383af_D20201231-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:APOPumpsCompressorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-31</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i10ba6c9e311849218bedfae0f8b3088e_D20201231-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:PumpingSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-31</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia2541dd42e98411bb34c5cb5ac77070d_D20201231-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:CorporateEquipmentCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-31</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i672f94e2b9c44d04bf846ce8f8de0c4b_D20200201-20200201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:TurboMachineryRepairMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-02-01</endDate>
        </period>
    </context>
    <context id="i90ce6a2fb7114550bdb79dff3d8c34ee_D20200101-20200101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:PumpingSystemsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-01</endDate>
        </period>
    </context>
    <context id="ic62a4bcf488b448687237da33569dd82_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:Acquisitions2021Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib102803883444406abe40c841a98235a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:Acquisitions2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia7df4c76a3f7468899bdda7747fd9c78_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:Acquisitions2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1b3dc547f0114db7843b40f1e10b7047_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:Acquisitions2021Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id6a3581e5ff74245b08fac3e3c31885b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:Acquisitions2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i870216cec8474677b75374f2645dddf0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:Acquisitions2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i773b40f8f3e5478db261cc5f97e26404_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:Acquisitions2021Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4cbff05ccaa249f18a3196eff6f56e9f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:AcquisitionsInFiscalYear2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idce8877e89d54693b6a3101b88f550c0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:AcquisitionsInFiscalYear2020Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i92c2f3e25c054d0ca72735d557edaf69_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:AcquisitionsInFiscalYear2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i51ca2631e61a4bb3a123dfcdb6b14489_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:AcquisitionsInFiscalYear2020Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7f75f5a52913462a88b2d61c4c07a531_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:AcquisitionsInFiscalYear2020Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i94def03c09ef414e9c6deba5904d771b_I20210701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:ProcessMachineryLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">dxpe:ContingentConsiderationLiabilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ValuationTechniqueAxis">us-gaap:IncomeApproachValuationTechniqueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-01</instant>
        </period>
    </context>
    <context id="idc7e05761ee241a4a56ec3b11ac142b6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6705d7b080904523a59360d01d4ef4dd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3882157b5d1942f2856399cc9e8568ef_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i98d1b1272dc841efac76569af3832653_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic377387a8e2149579d19bf230a9ae40a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if6aa227bd4b7476f82ac5ef14bcfafb7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6a3882dcf6584156b5ca0da7fb5d716d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie515fd8298c2453fb4f61ae583718519_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id910c27044be4e829e2ef20182386ca8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibb0c57a7512244ad8d513b3bcbd80479_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id6befe0511ef4e22b0ff7c29a0d420c3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id38da812d94346bdbd761233b9728925_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i39fefd5d2bb640e5b3be09f2c341bcd8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i36bff4794b1945bfafc2cd645dffd976_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic1f66981695843fda314e48dcde0464b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i817eca7d27bf49c2a6363e4304af3e86_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i22f37db0b4d1450fb66de87c9661af72_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia522410eb3514ae88987ab02dd426a94_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i223ba6fd7ba0457bb49639c6298a6649_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i852173852d3f42db91c965da23faa647_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic4d87156622a4afb95033de5f563cc7a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6468843d639f41a5bae084d53a5dee52_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i003d503891f64bda95de6b20a6f2d56c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic8fc476f948048b2bfb0dc574f0b5d19_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i704af04c472c42c3b5a1d02dbb9a6138_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i655db900b6ef42bea76b77cfe49c0264_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic2f939c346e84d46b6b6549ef3114015_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1ad448cd95ba432cb84c3ca68c8f1819_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iad5bbc7a1f0940ebb5b9708f7cce2653_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ieb70f0287fbd4619b51347bb75562252_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i66595031c43141dc9dd6823dc851f0cb_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id1749d1537894afbbda2dbeb5ae4b6f4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8e6d5eba599e4472bcd1a64c9b01239a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icb9ec134950346859dd075c6d40a6f9d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i247923baa1b04680b8c0a0302c17182a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if1fe3e2545f640d2a2027909ee64c76a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9c651fa72203469795b51d08c596eeb0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0cc61b41c1094ae3a9f7d9071cdc4ed9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i12f02ae67666415081d5c74d16ebd6c6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if614050afcb6420681c28da22306e02b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6e1e8441f44c45a78015e11168e3c985_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i05e455c508e24803b8aceb43eb3a020c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ieb2ef441a4fe4036890382c47ad0dad1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8f72bbec83394e189e85ad27d14642bc_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:InventoryManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0960749f9a044e6aa08abc1018e5d39e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id59cd65a9f6f457f8f3f178cef4078fb_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i761fc865e226430abef45b988636e71b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0325aa9076d843d480e821c28879935b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:StaffingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if844837dcad04d55bfe1746fd0b6cc29_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id41e91fce25a42d6bf6721cbf6d91a69_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i84d5864e4976478889bbc363b5f2e5c0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ibad782b9e113454baf7952e932712dde_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dxpe:CustomizedPumpProductionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3a48e114e0b2495f9c42d7bd3e7d0bf6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i05843c6cdac64781ac67833e5e0dd987_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9b0c995e66514e2fa9f909d60a843ce7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i54627b19b03142a4b788e552d96c4416_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:ServiceCentersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia25104a1206449c092989a3c23e90fd7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:InnovativePumpingSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic876345e01464d06a20793e3e811f3d4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dxpe:SupplyChainServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="icc751f1be5c04155803c700b8044ce47_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i05d37b7d24f74a7b8ee0a096990be0db_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ica36699dbc784532a5f0506cf6280f5d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i1495ee9437fb4e7687ed43940c9380ec_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic11c19ceda154b4594da3605ab5cd765_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic4204c9340ed465eb9a628b2ae1b3416_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1ac0d902023c4db0983d3c5919d9c477_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9ac337cdb65f4eba8cfcf58b60b5848f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i728757d6c3b04eccb5de3a84e8dea16e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iac0634d7346541ff890c894ed33f167b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if2a2aca6b3d14774bc36701ef9cc19b2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib10e81b31d644c1f87151715b28f992e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i389fbf6103a64522a6c15bee47e41c04_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic0cd07c68dd74fdcb5ff36160d3f157b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8575a5461bd84a6abeb87c5e0001eec1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibc723148539946ab89d17f1b315d6c1d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0b62883eab5648a8bb71cddab1a33a06_D20220302-20220302">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001020710</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dxpe:DrydonEquipmentIncAndBurglingameEngineersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-02</startDate>
            <endDate>2022-03-02</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="segment">
        <measure>dxpe:segment</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="rate">
        <measure>dxpe:rate</measure>
    </unit>
    <unit id="installment">
        <measure>dxpe:installment</measure>
    </unit>
    <unit id="entity">
        <measure>dxpe:entity</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl80L2ZyYWc6MWYyYTI4NmE3ZmUwNDEzZGIxYjY3MDM1OWI0OGM0ZjkvdGFibGU6MTRkNGU5NGRhMWJkNGU5Y2JmZWI0MGI2ZTkzOTg5NDEvdGFibGVyYW5nZToxNGQ0ZTk0ZGExYmQ0ZTljYmZlYjQwYjZlOTM5ODk0MV80LTEtMS0xLTI2NzQz_91e28e75-f90e-4d75-b9f9-987424ef3783">0001020710</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl80L2ZyYWc6MWYyYTI4NmE3ZmUwNDEzZGIxYjY3MDM1OWI0OGM0ZjkvdGFibGU6MTRkNGU5NGRhMWJkNGU5Y2JmZWI0MGI2ZTkzOTg5NDEvdGFibGVyYW5nZToxNGQ0ZTk0ZGExYmQ0ZTljYmZlYjQwYjZlOTM5ODk0MV85LTEtMS0xLTI2NzQz_f4c2de25-e62d-45ee-b00a-e32161fff436">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl80L2ZyYWc6MWYyYTI4NmE3ZmUwNDEzZGIxYjY3MDM1OWI0OGM0ZjkvdGFibGU6MTRkNGU5NGRhMWJkNGU5Y2JmZWI0MGI2ZTkzOTg5NDEvdGFibGVyYW5nZToxNGQ0ZTk0ZGExYmQ0ZTljYmZlYjQwYjZlOTM5ODk0MV8xMC0xLTEtMS0yNjc0Mw_e0344b32-f7ae-4e19-80b5-9f310f22beaf">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl80L2ZyYWc6MWYyYTI4NmE3ZmUwNDEzZGIxYjY3MDM1OWI0OGM0ZjkvdGFibGU6MTRkNGU5NGRhMWJkNGU5Y2JmZWI0MGI2ZTkzOTg5NDEvdGFibGVyYW5nZToxNGQ0ZTk0ZGExYmQ0ZTljYmZlYjQwYjZlOTM5ODk0MV8xMS0xLTEtMS0yNjc0Mw_847f386b-ead4-44f1-ae25-d5802c932599">false</dei:AmendmentFlag>
    <dxpe:PreferredStockVotesPerEachShare
      contextRef="i1a9b82cbb1874ded8838d9d56898af27_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjEvZnJhZzpjNTc4MGJiZTM4N2E0MDg3YmZmZjQ5Y2NhMjUyZTNkNy90YWJsZTo3Mjk0NjdlMmEzNWQ0N2IzYWNlNjEzOTZmNzJiMWM0Yy90YWJsZXJhbmdlOjcyOTQ2N2UyYTM1ZDQ3YjNhY2U2MTM5NmY3MmIxYzRjXzItMS0xLTEtMjY3NDM_f83b6169-9dfa-44db-9c6e-ae0bb994b1e9"
      unitRef="rate">0.10</dxpe:PreferredStockVotesPerEachShare>
    <dxpe:PreferredStockVotesPerEachShare
      contextRef="if3f3b5d406f4483c92c676469c6bf635_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjEvZnJhZzpjNTc4MGJiZTM4N2E0MDg3YmZmZjQ5Y2NhMjUyZTNkNy90YWJsZTo3Mjk0NjdlMmEzNWQ0N2IzYWNlNjEzOTZmNzJiMWM0Yy90YWJsZXJhbmdlOjcyOTQ2N2UyYTM1ZDQ3YjNhY2U2MTM5NmY3MmIxYzRjXzUtMS0xLTEtMjY3NDM_6b298a95-2748-4fc1-ab28-6f35c63d2032"
      unitRef="rate">0.10</dxpe:PreferredStockVotesPerEachShare>
    <dei:DocumentType
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjIx_a314830f-8071-467a-b88e-eb3bf7f81366">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6NzliZjdhNDRlNTUwNDI4ZGFhMzA1NmNhYzhmYjI3ZDMvdGFibGVyYW5nZTo3OWJmN2E0NGU1NTA0MjhkYWEzMDU2Y2FjOGZiMjdkM18wLTAtMS0xLTI2NzQz_733c3f4f-e07d-4aed-a065-b8583d220474">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6NzliZjdhNDRlNTUwNDI4ZGFhMzA1NmNhYzhmYjI3ZDMvdGFibGVyYW5nZTo3OWJmN2E0NGU1NTA0MjhkYWEzMDU2Y2FjOGZiMjdkM18wLTEtMS0xLTI2NzQzL3RleHRyZWdpb246NjU3ZDFiODMwMmQzNDUzN2E2NjU3NjFkMTQ5Y2VmMTlfMTE2_70da20aa-2767-43f7-b712-cc6065e4cbee">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6NzliZjdhNDRlNTUwNDI4ZGFhMzA1NmNhYzhmYjI3ZDMvdGFibGVyYW5nZTo3OWJmN2E0NGU1NTA0MjhkYWEzMDU2Y2FjOGZiMjdkM18wLTEtMS0xLTI2NzQzL3RleHRyZWdpb246NjU3ZDFiODMwMmQzNDUzN2E2NjU3NjFkMTQ5Y2VmMTlfMTE2_ca52502f-fc77-47aa-9c37-ebac17bba753">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6NzIwNmY3NWM1MDM5NGM0ZjhlNmZjNzE2MmNlYTVhZmIvdGFibGVyYW5nZTo3MjA2Zjc1YzUwMzk0YzRmOGU2ZmM3MTYyY2VhNWFmYl8wLTAtMS0xLTI2NzQz_48e3222a-7b60-4530-bd0c-cb72b54b4224">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjE1_77353dc0-6a15-4329-8e73-c8c752fb8c22">0-21513</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjE2_42f890f9-a90d-4dfe-8bf8-f67609f34c2b">DXP Enterprises, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6YzE3M2FlZDA3OTA0NGM0ZWI3M2JlNDRkNzc3NDdmMjcvdGFibGVyYW5nZTpjMTczYWVkMDc5MDQ0YzRlYjczYmU0NGQ3Nzc0N2YyN18wLTAtMS0xLTI2NzQz_f278e00b-2fdf-4871-b97f-11055b1a5a32">TX</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6YzE3M2FlZDA3OTA0NGM0ZWI3M2JlNDRkNzc3NDdmMjcvdGFibGVyYW5nZTpjMTczYWVkMDc5MDQ0YzRlYjczYmU0NGQ3Nzc0N2YyN18wLTItMS0xLTI2NzQz_c877181e-7166-498d-a0be-e58f29601a1d">76-0509661</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjIy_bbd5547f-77d2-4e71-9158-3b4d65b58a58">5301 Hollister</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjE3_b0c347fa-cb27-4219-8062-9c3a664d7037">Houston</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjI2_9998f40f-e66c-41bd-ad5f-29b2f786f4dd">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjIz_d07941bd-7054-4f9d-b9ac-92ac72a16840">77040</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjE4_185a3971-22f8-4a18-b69d-2382f0a5d9d7">713</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjE5_6f276907-d620-442e-a272-e704268e4a84">996-4700</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6MjA3YWU5YWU0NzFkNGVlM2I5ODI3N2U5Y2JhOThhN2QvdGFibGVyYW5nZToyMDdhZTlhZTQ3MWQ0ZWUzYjk4Mjc3ZTljYmE5OGE3ZF8xLTAtMS0xLTI2NzQz_c53e68a1-66d3-498e-ba52-82d6c684e605">Common Stock par value $0.01</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6MjA3YWU5YWU0NzFkNGVlM2I5ODI3N2U5Y2JhOThhN2QvdGFibGVyYW5nZToyMDdhZTlhZTQ3MWQ0ZWUzYjk4Mjc3ZTljYmE5OGE3ZF8xLTEtMS0xLTI2NzQz_7a1487c0-ff33-4bac-9b6e-97d8895508a3">DXPE</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGFibGU6MjA3YWU5YWU0NzFkNGVlM2I5ODI3N2U5Y2JhOThhN2QvdGFibGVyYW5nZToyMDdhZTlhZTQ3MWQ0ZWUzYjk4Mjc3ZTljYmE5OGE3ZF8xLTItMS0xLTI2NzQz_958fe6d7-3fe0-4565-87e6-a7dccb7d9776">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjEy_52ccc16a-8bda-49dd-a599-d836405a63f7">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjI4_08a91294-5b3c-4aca-81a3-7fbe75404e87">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8xNTk0MjkxODYwNjAzMg_687cb7d7-4e72-4c41-b5fa-972dee35bf82">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8xMzgx_377bda01-04d2-4ab9-a15c-f2ddc82c3406">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8xNzcx_fe12f4b1-ebad-4ace-8652-5737911d7e30">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8xODM2_ff5b5e26-84cc-4b56-a10c-5000e1e94e80">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjI0_8a081c23-e46d-46de-93b3-8d8e0167f317">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjE0_eb235a19-cecf-4906-8d76-821e2d3c8923">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjI1_d94e1f9c-b534-4f53-8111-312ba42f916e">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i02ab76288c5e47189141e6f0896bf846_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8yNzE0_098a3011-1887-40c8-90fb-59391fc14b99"
      unitRef="usd">560000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i7b2e5886cc7b4482830fa5d5fd272301_I20220304"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8yNzQ4Nzc5MDcyNzA4_4bd90c77-d06d-46c5-893c-7bf23a8eb9e4"
      unitRef="shares">18607856</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xL2ZyYWc6NDdmZWJjNDI4NjFjNDgwMGJkMTU2YmJjOTNjZTZmNGUvdGV4dHJlZ2lvbjo0N2ZlYmM0Mjg2MWM0ODAwYmQxNTZiYmM5M2NlNmY0ZV8zMjIw_4643bf9f-308f-4c0c-97eb-f3fc4534941f">Portions of the definitive proxy statement for our 2022 annual meeting of shareholders are incorporated by reference into Part III hereof. The 2022 proxy statement will be filed with the U.S. Securities and Exchange Commission within 120 days after the end of the fiscal year to which this report relates.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorName
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81Mi9mcmFnOmZhMTQ2NWVmNTkyZDRlZDc5OGJiNjM0ZGRlY2EyNDkyL3RhYmxlOjk0ZDliZWY0M2U4NzQzNjNhNWRkMDg0NGRhMjQxY2M2L3RhYmxlcmFuZ2U6OTRkOWJlZjQzZTg3NDM2M2E1ZGQwODQ0ZGEyNDFjYzZfMy0wLTEtMS00MDU3MC90ZXh0cmVnaW9uOjA1YTAyZDUyNGM5YTRjZDU5NDc1NjI0ZDZjYTYxMGQ0XzIxOTkwMjMyNTU2MTQ_273a6f12-0905-4f5a-b906-a44518a9b81c">McConnell &amp; Jones LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81Mi9mcmFnOmZhMTQ2NWVmNTkyZDRlZDc5OGJiNjM0ZGRlY2EyNDkyL3RhYmxlOjk0ZDliZWY0M2U4NzQzNjNhNWRkMDg0NGRhMjQxY2M2L3RhYmxlcmFuZ2U6OTRkOWJlZjQzZTg3NDM2M2E1ZGQwODQ0ZGEyNDFjYzZfMy0wLTEtMS00MDU3MC90ZXh0cmVnaW9uOjA1YTAyZDUyNGM5YTRjZDU5NDc1NjI0ZDZjYTYxMGQ0XzE1OTQyOTE4NjAyODky_b5a2874a-9df1-42d7-8fcb-0b38f72d3e2e">Houston, Texas</dei:AuditorLocation>
    <dei:AuditorFirmId
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81Mi9mcmFnOmZhMTQ2NWVmNTkyZDRlZDc5OGJiNjM0ZGRlY2EyNDkyL3RhYmxlOjk0ZDliZWY0M2U4NzQzNjNhNWRkMDg0NGRhMjQxY2M2L3RhYmxlcmFuZ2U6OTRkOWJlZjQzZTg3NDM2M2E1ZGQwODQ0ZGEyNDFjYzZfMy0wLTEtMS00MDU3MC90ZXh0cmVnaW9uOjA1YTAyZDUyNGM5YTRjZDU5NDc1NjI0ZDZjYTYxMGQ0XzE1OTQyOTE4NjAyODQ2_c4555c1e-9a54-4327-99de-a319fd8babc1">869</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="i388c96f2fb8d452eb7cb2e76bc759609_D20190101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81Mi9mcmFnOmZhMTQ2NWVmNTkyZDRlZDc5OGJiNjM0ZGRlY2EyNDkyL3RhYmxlOjk0ZDliZWY0M2U4NzQzNjNhNWRkMDg0NGRhMjQxY2M2L3RhYmxlcmFuZ2U6OTRkOWJlZjQzZTg3NDM2M2E1ZGQwODQ0ZGEyNDFjYzZfNS0wLTEtMS00MDU3Ny90ZXh0cmVnaW9uOjZjYjE1ZmI5MzVlYzRiNGFiYTYyYTU0NGE2MjFmODg4XzE1OTQyOTE4NjAzMDI0_953f79cc-89b4-4d13-aec1-0514d0cb315f">Moss Adams LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i388c96f2fb8d452eb7cb2e76bc759609_D20190101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81Mi9mcmFnOmZhMTQ2NWVmNTkyZDRlZDc5OGJiNjM0ZGRlY2EyNDkyL3RhYmxlOjk0ZDliZWY0M2U4NzQzNjNhNWRkMDg0NGRhMjQxY2M2L3RhYmxlcmFuZ2U6OTRkOWJlZjQzZTg3NDM2M2E1ZGQwODQ0ZGEyNDFjYzZfNS0wLTEtMS00MDU3Ny90ZXh0cmVnaW9uOjZjYjE1ZmI5MzVlYzRiNGFiYTYyYTU0NGE2MjFmODg4XzIxOTkwMjMyNTU4MDA_d004c477-e0da-4d1c-88a1-2046ce38f80e">Houston, Texas</dei:AuditorLocation>
    <dei:AuditorFirmId
      contextRef="i388c96f2fb8d452eb7cb2e76bc759609_D20190101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81Mi9mcmFnOmZhMTQ2NWVmNTkyZDRlZDc5OGJiNjM0ZGRlY2EyNDkyL3RhYmxlOjk0ZDliZWY0M2U4NzQzNjNhNWRkMDg0NGRhMjQxY2M2L3RhYmxlcmFuZ2U6OTRkOWJlZjQzZTg3NDM2M2E1ZGQwODQ0ZGEyNDFjYzZfNS0wLTEtMS00MDU3Ny90ZXh0cmVnaW9uOjZjYjE1ZmI5MzVlYzRiNGFiYTYyYTU0NGE2MjFmODg4XzE1OTQyOTE4NjAzMDA3_0e90650e-d112-4bd2-8aa6-c75a85e44405">659</dei:AuditorFirmId>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMy0xLTEtMS0yNjc0Mw_dfafd428-8e90-4a7b-bcdc-a8a84c68e87f"
      unitRef="usd">1113921000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMy0zLTEtMS0yNjc0Mw_7daee628-b44f-4e56-9d29-531aaaaccd72"
      unitRef="usd">1005266000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMy01LTEtMS0yNjc0Mw_cbb5949a-df0a-4e6f-bded-a4cdea54af1c"
      unitRef="usd">1264851000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNC0xLTEtMS0yNjc0Mw_8a0d9126-4281-4a34-8554-e6590e0f36e9"
      unitRef="usd">785415000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNC0zLTEtMS0yNjc0Mw_3289e98d-508b-4411-96e3-a2ce6e0ff817"
      unitRef="usd">728070000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNC01LTEtMS0yNjc0Mw_fb028188-8f29-48ea-ac21-0bee3e496493"
      unitRef="usd">915062000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNS0xLTEtMS0yNjc0Mw_2e2a2746-c87b-4c1c-b05c-5a306eb8fca7"
      unitRef="usd">328506000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNS0zLTEtMS0yNjc0Mw_1c84c694-2325-4260-a72e-98718d2391d1"
      unitRef="usd">277196000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNS01LTEtMS0yNjc0Mw_7846e27e-ee47-41d7-a1eb-dff390860f95"
      unitRef="usd">349789000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNi0xLTEtMS0yNjc0Mw_a584a914-3751-4f3f-9650-54ebe02facbf"
      unitRef="usd">288649000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNi0zLTEtMS0yNjc0Mw_8041cfdb-b2ea-4e80-8c03-e276c13906c1"
      unitRef="usd">244981000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNi01LTEtMS0yNjc0Mw_ac16fe7e-1455-4e5b-a44c-f302aaf8a7df"
      unitRef="usd">282377000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNy0xLTEtMS0yNjc0Mw_ea5d8a63-c142-420e-bf9d-b519e0c2fcb8"
      unitRef="usd">0</dxpe:AssetImpairmentAndOtherCharges>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNy0zLTEtMS0yNjc0Mw_4e7f5cea-5936-453e-90f2-b13388ebd081"
      unitRef="usd">59883000</dxpe:AssetImpairmentAndOtherCharges>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfNy01LTEtMS0yNjc0Mw_e39e3ac9-4323-49ca-8363-e444626d1e5f"
      unitRef="usd">0</dxpe:AssetImpairmentAndOtherCharges>
    <us-gaap:OperatingIncomeLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfOC0xLTEtMS0yNjc0Mw_b2988343-d070-46d6-b790-056c6f065c79"
      unitRef="usd">39857000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfOC0zLTEtMS0yNjc0Mw_1dc1ed53-3e88-4e9b-95f0-e92e7d6ec567"
      unitRef="usd">-27668000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfOC01LTEtMS0yNjc0Mw_17bad471-9c2c-43c8-8d05-f7b76c589a1d"
      unitRef="usd">67412000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfOS0xLTEtMS0yNjc0Mw_9ac1be5c-2a64-40cf-b2aa-1860972f98bb"
      unitRef="usd">414000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfOS0zLTEtMS0yNjc0Mw_1a30da16-a703-42be-ac19-258548077d2d"
      unitRef="usd">-74000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfOS01LTEtMS0yNjc0Mw_62a14531-97d9-4fb2-8c81-e1e6b1b5d471"
      unitRef="usd">45000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:InterestExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTAtMS0xLTEtMjY3NDM_789b15ed-7828-46ac-b25f-6a0908b2b0c5"
      unitRef="usd">21089000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTAtMy0xLTEtMjY3NDM_07ab339a-27f8-419c-afe8-a1b70399483b"
      unitRef="usd">20571000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTAtNS0xLTEtMjY3NDM_bc79a933-5234-4460-ab69-ae2194d9fc25"
      unitRef="usd">19498000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTEtMS0xLTEtMjY3NDM_47eab554-c61a-4f94-86d7-9e44242deaa1"
      unitRef="usd">19182000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTEtMy0xLTEtMjY3NDM_7b688e38-156c-4b97-b531-b0071f465403"
      unitRef="usd">-48313000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTEtNS0xLTEtMjY3NDM_839b8d8b-97ad-4bd9-960c-3bf7e4c193ee"
      unitRef="usd">47959000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTItMS0xLTEtMjY3NDM_6e120292-1d6c-4cbd-bc60-82d715502d4d"
      unitRef="usd">3431000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTItMy0xLTEtMjY3NDM_9412472c-b12a-4bff-8ea9-37300b73ae5a"
      unitRef="usd">-18696000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTItNS0xLTEtMjY3NDM_166f2de5-5049-46fc-b2a8-54b1b042b51b"
      unitRef="usd">11194000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTMtMS0xLTEtMjY3NDM_c921ca42-7b9e-4031-97f2-17631635db2c"
      unitRef="usd">15751000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTMtMy0xLTEtMjY3NDM_b0a272aa-7c14-43e8-8d79-7769f23de683"
      unitRef="usd">-29617000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTMtNS0xLTEtMjY3NDM_29ffa819-1180-4a08-a498-842638d5b511"
      unitRef="usd">36765000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTQtMS0xLTEtMjY3NDM_1cef39fc-3870-4343-81bf-95f69ee52304"
      unitRef="usd">-745000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTQtMy0xLTEtMjY3NDM_f16e1b7a-d1cc-4bbc-97ab-89eeba2c07d5"
      unitRef="usd">-348000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTQtNS0xLTEtMjY3NDM_e4ccbeee-b8f2-4269-9ed5-f8b3a4c176e5"
      unitRef="usd">-260000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTUtMS0xLTEtMjY3NDM_5ec0521e-1878-4aa4-891f-7a6651cc5784"
      unitRef="usd">16496000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTUtMy0xLTEtMjY3NDM_a9860a25-43b8-4cbd-852b-bc82dcfefa63"
      unitRef="usd">-29269000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTUtNS0xLTEtMjY3NDM_0d1eedcb-b13f-4519-87fc-fb2f8e4bc019"
      unitRef="usd">37025000</us-gaap:NetIncomeLoss>
    <us-gaap:PreferredStockDividendsIncomeStatementImpact
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTYtMS0xLTEtMjY3NDM_ebe1446c-bcbc-450c-b8eb-af23999e2f49"
      unitRef="usd">90000</us-gaap:PreferredStockDividendsIncomeStatementImpact>
    <us-gaap:PreferredStockDividendsIncomeStatementImpact
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTYtMy0xLTEtMjY3NDM_9f765a89-d187-4c68-b9e1-cc7ab800f578"
      unitRef="usd">90000</us-gaap:PreferredStockDividendsIncomeStatementImpact>
    <us-gaap:PreferredStockDividendsIncomeStatementImpact
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTYtNS0xLTEtMjY3NDM_99efb805-f4bd-4f09-ac80-a744e9eb924d"
      unitRef="usd">90000</us-gaap:PreferredStockDividendsIncomeStatementImpact>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTctMS0xLTEtMjY3NDM_e419b42a-3323-43a7-aa54-6250822de79a"
      unitRef="usd">16406000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTctMy0xLTEtMjY3NDM_f9c81ecc-aef4-4327-a77a-bc1641ae6202"
      unitRef="usd">-29359000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTctNS0xLTEtMjY3NDM_f31740eb-4cb4-43b1-9377-881a5f4fbce5"
      unitRef="usd">36935000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ProfitLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTktMS0xLTEtMjY3NDM_d1dad77d-9379-4a84-8625-e8665bb33975"
      unitRef="usd">15751000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTktMy0xLTEtMjY3NDM_8df7de9f-d067-4ac1-b1e4-536a7244fa4f"
      unitRef="usd">-29617000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMTktNS0xLTEtMjY3NDM_15e39119-9451-425d-a0ca-c9f16a1bf5ac"
      unitRef="usd">36765000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjAtMS0xLTEtMjY3NDM_7470e74a-8b51-46d2-8dda-5dd2b5938d50"
      unitRef="usd">696000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjAtMy0xLTEtMjY3NDM_f4ab6ce8-8124-4db5-bad6-ae64ab717968"
      unitRef="usd">1941000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjAtNS0xLTEtMjY3NDM_029aba2c-2899-40c2-9673-dff992763687"
      unitRef="usd">-687000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjEtMS0xLTEtMjY3NDM_30bae365-c6ea-43c5-871b-a7afbe1e2fa0"
      unitRef="usd">16447000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjEtMy0xLTEtMjY3NDM_2b69797e-67f0-4915-ad90-1e4c8415b41c"
      unitRef="usd">-27676000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjEtNS0xLTEtMjY3NDM_98f28ef2-d0e1-471e-8452-8ae2c2c31ce3"
      unitRef="usd">36078000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:EarningsPerShareBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjQtMS0xLTEtMjY3NDM_2cb112a9-833d-40a9-b8f0-538da479a15b"
      unitRef="usdPerShare">0.87</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjQtMy0xLTEtMjY3NDM_ca779768-66ad-4458-850b-551a27787cc9"
      unitRef="usdPerShare">-1.65</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjQtNS0xLTEtMjY3NDM_ae895d62-a53b-4bfd-a728-9a1d7f97a89e"
      unitRef="usdPerShare">2.10</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjUtMS0xLTEtMjY3NDM_1cf98894-fb96-43df-b885-ffa600259ae6"
      unitRef="usdPerShare">0.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjUtMy0xLTEtMjY3NDM_2da361a1-0bdb-4caa-9435-1d8edf328de8"
      unitRef="usdPerShare">-1.65</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjUtNS0xLTEtMjY3NDM_713aa5ac-aee7-497b-8acb-4d3dd1d57c22"
      unitRef="usdPerShare">2.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjctMS0xLTEtMjY3NDM_90237d1c-ea77-418e-a38c-2d3f2f120a56"
      unitRef="shares">18949000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjctMy0xLTEtMjY3NDM_793f70d2-7870-449a-b3af-9d7409deed06"
      unitRef="shares">17748000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjctNS0xLTEtMjY3NDM_a8fbefd9-09c3-4117-a5d2-de5d5945d191"
      unitRef="shares">17592000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjgtMS0xLTEtMjY3NDM_ba432915-a138-4f8a-8f7e-e65a8737af53"
      unitRef="shares">19789000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjgtMy0xLTEtMjY3NDM_5dc7ad41-4c83-471d-8052-4462d1681638"
      unitRef="shares">17748000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl81OC9mcmFnOjFlMDAyZDM0ZGQ3MDQ4NGI4NTM5ZGY4YjhiNGQ0YTRmL3RhYmxlOjc5MWRhN2UxODg3OTRlNDk5MmIxNjVkNGE0ZmViMmVkL3RhYmxlcmFuZ2U6NzkxZGE3ZTE4ODc5NGU0OTkyYjE2NWQ0YTRmZWIyZWRfMjgtNS0xLTEtMjY3NDM_562ab6c8-49f2-4eae-8c5d-03f08c1ef28e"
      unitRef="shares">18432000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNC0xLTEtMS0yNjc0Mw_7e452635-0f6c-4a59-bb96-e28023caaf1d"
      unitRef="usd">48989000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNC0zLTEtMS0yNjc0Mw_549b74b5-7837-4b55-ad7a-d2e723451988"
      unitRef="usd">119328000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCash
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNS0xLTEtMS0yNjc0Mw_825cfa4a-33c0-4334-b3d3-ea3c81e4e270"
      unitRef="usd">91000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNS0zLTEtMS0yNjc0Mw_6e3dd723-291b-404f-9f08-983298447603"
      unitRef="usd">91000</us-gaap:RestrictedCash>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNi0wLTEtMS0yNjc0My90ZXh0cmVnaW9uOjk1MGM5NjcxMDcyMTRjOTdiNGM4ZDY2NTg3NWVhYjY5XzY4_aa32774e-93ff-4ab9-8a69-93126a541a6f"
      unitRef="usd">7759000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNi0wLTEtMS0yNjc0My90ZXh0cmVnaW9uOjk1MGM5NjcxMDcyMTRjOTdiNGM4ZDY2NTg3NWVhYjY5Xzc1_7697b6e4-f77c-4612-8b6f-ac49472cd9a5"
      unitRef="usd">8628000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNi0xLTEtMS0yNjc0Mw_519afdfa-2816-432a-93d3-fda8b27108d9"
      unitRef="usd">218137000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNi0zLTEtMS0yNjc0Mw_a75151a8-45bc-4000-8226-6d0a32499afb"
      unitRef="usd">166941000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNy0xLTEtMS0yNjc0Mw_86123d2d-0e96-46f3-b157-62655a801280"
      unitRef="usd">100894000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNy0zLTEtMS0yNjc0Mw_fe2c66fa-f24b-43ab-9d72-009665773fda"
      unitRef="usd">97071000</us-gaap:InventoryNet>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfOC0xLTEtMS0yNjc0Mw_128462d4-328d-45fd-b996-2e264307940b"
      unitRef="usd">17193000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfOC0zLTEtMS0yNjc0Mw_accbb658-14f1-487a-98e9-b39139bd6cbc"
      unitRef="usd">18459000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfOS0xLTEtMS0yNjc0Mw_9b7fbaea-daec-4b93-a130-591f2b89dd8a"
      unitRef="usd">9522000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfOS0zLTEtMS0yNjc0Mw_b40c6514-f5a0-47e2-bb74-42eb7563b2ea"
      unitRef="usd">4548000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTAtMS0xLTEtMjY3NDM_35d703df-bc90-4ea6-87fc-1fb140480006"
      unitRef="usd">9748000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTAtMy0xLTEtMjY3NDM_2d52e3d5-a0a8-4c76-a9d5-4a3b3db22c1c"
      unitRef="usd">2987000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:AssetsCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTEtMS0xLTEtMjY3NDM_cc9617ad-6db2-494c-bd11-a4ad33bf7bdc"
      unitRef="usd">404574000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTEtMy0xLTEtMjY3NDM_118f6492-f751-4042-b126-3e4279015a3e"
      unitRef="usd">409425000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTItMS0xLTEtMjY3NDM_4cc9609b-6c6b-432a-9dd3-60c30cd5ced1"
      unitRef="usd">51880000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTItMy0xLTEtMjY3NDM_8057be2c-cd28-40e3-92b7-8870726c455c"
      unitRef="usd">56899000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTMtMS0xLTEtMjY3NDM_adea704c-85cd-43d0-974e-31a453cb28bb"
      unitRef="usd">308506000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTMtMy0xLTEtMjY3NDM_8b1fb9b0-dda7-4954-a038-9862ca7a36e4"
      unitRef="usd">261767000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTQtMS0xLTEtMjY3NDM_97156afd-4527-4203-a5b1-2f0ab731bf28"
      unitRef="usd">79205000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTQtMy0xLTEtMjY3NDM_4d70ad85-fde0-471f-9dcc-d42ff830972a"
      unitRef="usd">80088000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTUtMS0xLTEtMjY3NDM_05648d46-c47d-4cb8-a482-41d96ae72dfe"
      unitRef="usd">57221000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTUtMy0xLTEtMjY3NDM_6c69ab33-a200-40a0-8e73-b0b96aca7160"
      unitRef="usd">55188000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTYtMS0xLTEtMjY3NDM_1ebac780-db01-4e39-a210-243d2258c5e2"
      unitRef="usd">4806000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTYtMy0xLTEtMjY3NDM_e2853a48-5bf4-4ff6-ae06-bd629b55d4b4"
      unitRef="usd">4764000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTctMS0xLTEtMjY3NDM_a008fa7e-9d37-4d70-a966-e4b380b2b8bb"
      unitRef="usd">906192000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMTctMy0xLTEtMjY3NDM_6c37eb99-b527-47d2-860d-1d63d8cd7665"
      unitRef="usd">868131000</us-gaap:Assets>
    <us-gaap:LongTermDebtCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjAtMS0xLTEtMjY3NDM_88234537-ebb4-45c2-995f-ac0876dcd2b3"
      unitRef="usd">3300000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjAtMy0xLTEtMjY3NDM_7255c1e3-06f3-4ca7-967b-fd7ce732bbce"
      unitRef="usd">3300000</us-gaap:LongTermDebtCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjEtMS0xLTEtMjY3NDM_9621ebc1-22b9-4ce0-9a5f-08f7a78c17ab"
      unitRef="usd">77842000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjEtMy0xLTEtMjY3NDM_2b58951f-aee9-41d0-be1c-9599d5be9af0"
      unitRef="usd">64849000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjItMS0xLTEtMjY3NDM_4f902067-970d-44d7-abbd-e725e9480c1d"
      unitRef="usd">23006000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjItMy0xLTEtMjY3NDM_06d7524a-101c-4a32-af76-dbeb5771e3b3"
      unitRef="usd">20621000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <dxpe:ContractWithCustomerLiabilityCustomerAdvancesCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjQtMS0xLTEtMjY3NDM_09fb9cda-ec33-4107-b27f-edb49f31a2be"
      unitRef="usd">12924000</dxpe:ContractWithCustomerLiabilityCustomerAdvancesCurrent>
    <dxpe:ContractWithCustomerLiabilityCustomerAdvancesCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjQtMy0xLTEtMjY3NDM_9f7e1fb3-14ad-41a3-aa89-6d4a66924687"
      unitRef="usd">3688000</dxpe:ContractWithCustomerLiabilityCustomerAdvancesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjUtMS0xLTEtMjY3NDM_61b226ca-e596-4aa8-89bf-03c693363792"
      unitRef="usd">3581000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjUtMy0xLTEtMjY3NDM_8d3fa6dc-6789-435b-9c69-f52db67e1ef7"
      unitRef="usd">4061000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjYtMS0xLTEtMjY3NDM_8ef2dec7-5d98-4789-9936-1a5cb66fc80b"
      unitRef="usd">18203000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjYtMy0xLTEtMjY3NDM_c4ec80fb-59ab-4024-92cb-8450971f7b6e"
      unitRef="usd">15891000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjctMS0xLTEtMjY3NDM_dfbcd13b-24aa-4e56-a6b3-eb87a4c49c73"
      unitRef="usd">42206000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjctMy0xLTEtMjY3NDM_d18c7758-8772-439b-ab43-7ffc2e334acc"
      unitRef="usd">34729000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjgtMS0xLTEtMjY3NDM_301fb3b1-f2aa-43ce-999b-32dc18b9d611"
      unitRef="usd">181062000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjgtMy0xLTEtMjY3NDM_785d9488-bbe5-48fc-8d93-fa3bdd7c3db3"
      unitRef="usd">147139000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjktMS0xLTEtMjY3NDM_f86ce09e-8461-4faa-9156-9e9ecae2390e"
      unitRef="usd">315397000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMjktMy0xLTEtMjY3NDM_3600e1b8-51cd-4544-81aa-2b1aee679eb4"
      unitRef="usd">317139000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzAtMS0xLTEtMjY3NDM_80b8e8af-1d0a-4b9b-b97d-423f3e97b8ca"
      unitRef="usd">39922000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzAtMy0xLTEtMjY3NDM_e9f4a393-794c-4540-b357-8328aaf32708"
      unitRef="usd">38010000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzEtMS0xLTEtMjY3NDM_bc064848-1131-422b-939d-cc4ed81e72aa"
      unitRef="usd">3603000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzEtMy0xLTEtMjY3NDM_abbefaf8-efc3-40a9-8956-30623a31ae0e"
      unitRef="usd">2930000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzItMS0xLTEtMjY3NDM_574d9d5b-c499-4fbd-a683-e37fbff8620c"
      unitRef="usd">7516000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzItMy0xLTEtMjY3NDM_f4f08974-8081-4c46-8e11-f2ec79f0c89c"
      unitRef="usd">1777000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzMtMS0xLTEtMjY3NDM_f2dce9ac-1bf4-4552-b778-152f0b693055"
      unitRef="usd">366438000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzMtMy0xLTEtMjY3NDM_9f5bec40-a6ad-437c-97cf-1694fc7d2533"
      unitRef="usd">359856000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzQtMS0xLTEtMjY3NDM_a7c53533-f74f-4a72-a5f1-eb65f06e44e0"
      unitRef="usd">547500000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzQtMy0xLTEtMjY3NDM_eac5a250-6458-4d9d-bdff-b6402e233ece"
      unitRef="usd">506995000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzUtMS0xLTEtMjY3NDM_12e2000b-a6bc-4a41-82ec-4a0726e3a75f"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzUtMy0xLTEtMjY3NDM_626a13d2-aad5-4497-8d4e-42848197aef4"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i7e98caa88a7f46e5a15dad55f6f6dd9a_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzctMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiODZlOGQyZjIwNjA0ZWQ4YjIyYzc0MTMwOGZlMWE3ZV8zMA_577bce51-f4bf-4ce3-8474-26a3bd67ab88"
      unitRef="usdPerShare">1.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i1a9b82cbb1874ded8838d9d56898af27_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzctMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiODZlOGQyZjIwNjA0ZWQ4YjIyYzc0MTMwOGZlMWE3ZV8zMA_b75a6b66-df05-4530-a5fc-4d4866ad62c7"
      unitRef="usdPerShare">1.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i7e98caa88a7f46e5a15dad55f6f6dd9a_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzctMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiODZlOGQyZjIwNjA0ZWQ4YjIyYzc0MTMwOGZlMWE3ZV80NA_7665843a-18cf-48d3-9a7c-d1e5d6d945b2"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i1a9b82cbb1874ded8838d9d56898af27_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzctMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiODZlOGQyZjIwNjA0ZWQ4YjIyYzc0MTMwOGZlMWE3ZV80NA_db600c52-d256-44d6-a342-3e773badad93"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockValue
      contextRef="i1a9b82cbb1874ded8838d9d56898af27_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzctMS0xLTEtMjY3NDM_e637098a-ac33-44b8-a211-2d65bf9a7dc1"
      unitRef="usd">1000</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i7e98caa88a7f46e5a15dad55f6f6dd9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzctMy0xLTEtMjY3NDM_8bdc6315-9567-4d2b-9885-38475ea13019"
      unitRef="usd">1000</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="if3f3b5d406f4483c92c676469c6bf635_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzgtMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpmNTgxNjlmNDJlYjI0ODMxOWJlMzMyYTM3YjE5NDRmMV80Mg_51cc1b8f-17d0-4214-9fef-894a31e04654"
      unitRef="usdPerShare">1.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i994b6d681d024e61ac5416fc2d71a3ac_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzgtMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpmNTgxNjlmNDJlYjI0ODMxOWJlMzMyYTM3YjE5NDRmMV80Mg_689a0574-b711-4699-b461-07275edb4aff"
      unitRef="usdPerShare">1.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="if3f3b5d406f4483c92c676469c6bf635_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzgtMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpmNTgxNjlmNDJlYjI0ODMxOWJlMzMyYTM3YjE5NDRmMV81Ng_825dbaa3-c550-4831-a109-4214343c6273"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i994b6d681d024e61ac5416fc2d71a3ac_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzgtMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpmNTgxNjlmNDJlYjI0ODMxOWJlMzMyYTM3YjE5NDRmMV81Ng_9bb505cc-221d-4547-83bf-8daee30dd653"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockValue
      contextRef="if3f3b5d406f4483c92c676469c6bf635_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzgtMS0xLTEtMjY3NDM_d997eb4a-54e1-49d3-91ed-8802fed5bff5"
      unitRef="usd">15000</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i994b6d681d024e61ac5416fc2d71a3ac_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzgtMy0xLTEtMjY3NDM_bd192144-e012-440b-bc35-5449a50b9ff0"
      unitRef="usd">15000</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiMWQ1Zjk5YjA3NGE0MTlkOTI1N2QxOWUwZjU0MjY3OF8xOA_2fa7c057-4e3c-42d0-a779-72ebb85a4836"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiMWQ1Zjk5YjA3NGE0MTlkOTI1N2QxOWUwZjU0MjY3OF8xOA_5b914dfb-be33-4c0d-b001-a128457af784"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiMWQ1Zjk5YjA3NGE0MTlkOTI1N2QxOWUwZjU0MjY3OF8zMg_6b519734-a208-473a-8246-50dfbf35e179"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiMWQ1Zjk5YjA3NGE0MTlkOTI1N2QxOWUwZjU0MjY3OF8zMg_e7d72e1a-4555-4b3d-83fe-f66f7d048848"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiMWQ1Zjk5YjA3NGE0MTlkOTI1N2QxOWUwZjU0MjY3OF81NA_d0b31922-e22f-4a8c-98db-277ca325ec5b"
      unitRef="shares">18580364</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMC0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpiMWQ1Zjk5YjA3NGE0MTlkOTI1N2QxOWUwZjU0MjY3OF82MQ_df63cdac-271c-4b91-8ea0-7987892296f4"
      unitRef="shares">19208067</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMS0xLTEtMjY3NDM_b8447270-2554-4a17-8be5-bf103b544669"
      unitRef="usd">195000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfMzktMy0xLTEtMjY3NDM_cfd9aa9d-471c-46e9-9530-9765ecf04c3b"
      unitRef="usd">189000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDAtMS0xLTEtMjY3NDM_a0be89e8-7069-4f61-a42a-59c9c5aba1e0"
      unitRef="usd">206772000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDAtMy0xLTEtMjY3NDM_8a6af147-afdd-47bd-90dd-f67cd675fff5"
      unitRef="usd">192068000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDEtMS0xLTEtMjY3NDM_268e044f-e026-485c-8d3b-dc95b16a54eb"
      unitRef="usd">202484000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDEtMy0xLTEtMjY3NDM_e0cd6344-7b0d-4ac3-ad04-2525e330e289"
      unitRef="usd">186078000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDItMS0xLTEtMjY3NDM_152fba1f-d0e2-4401-92bd-1a635bdec69a"
      unitRef="usd">-17317000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDItMy0xLTEtMjY3NDM_8bf16d31-3d66-4425-9742-43c715bb1486"
      unitRef="usd">-18013000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDMtMC0xLTEtMjk3MzYvdGV4dHJlZ2lvbjphMTFiMDI4NWFhZDE0NTVhOGNkNjlhNDlmMDJmNTg5NV8zMjk4NTM0ODgzMzg0_6d32d607-2362-4fb8-ba9c-0c298a5d3cba"
      unitRef="shares">1184648</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDMtMS0xLTEtMjc0NzU_82ca8365-da79-4ead-be1d-550d034df14a"
      unitRef="usd">33511000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDMtMy0xLTEtMjc0Njg_8ac32fe3-06b3-485b-9e9b-c67545737b36"
      unitRef="usd">0</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDMtMS0xLTEtMjY3NDM_d64179de-f936-49f0-b4d7-ec113a40ae79"
      unitRef="usd">358639000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDMtMy0xLTEtMjY3NDM_3823b734-698d-4915-af63-54f1d65152e4"
      unitRef="usd">360338000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDQtMS0xLTEtMjY3NDM_9935095e-c9f3-459b-a2bb-ba3c2052d4ac"
      unitRef="usd">53000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDQtMy0xLTEtMjY3NDM_a6b1f508-eb45-4e10-a8ae-059c6461204d"
      unitRef="usd">798000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDUtMS0xLTEtMjY3NDM_81f53370-dbab-48ef-af9c-4c4ab1b9196c"
      unitRef="usd">358692000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDUtMy0xLTEtMjY3NDM_fb3fd9a5-7119-4407-8cd4-7aedc615d250"
      unitRef="usd">361136000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDYtMS0xLTEtMjY3NDM_9dc577cc-868b-4941-991e-c365938d5bf9"
      unitRef="usd">906192000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82MS9mcmFnOjg5ZjYyZmNjYjI5MzQxNmFiNDUxNmEyOWU1M2JmZTI1L3RhYmxlOjAxNjk3YTIzODJkNzQ3NmI4ZmZhYzFjNjA3NDQwODVhL3RhYmxlcmFuZ2U6MDE2OTdhMjM4MmQ3NDc2YjhmZmFjMWM2MDc0NDA4NWFfNDYtMy0xLTEtMjY3NDM_96e4c368-3174-4b44-a263-f8861838ea8d"
      unitRef="usd">868131000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNC0xLTEtMS0yNjc0Mw_f1a17ae6-50b7-4c1c-8934-88914518fa72"
      unitRef="usd">16496000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNC0zLTEtMS0yNjc0Mw_44301008-349d-45dc-af46-9012d1624b97"
      unitRef="usd">-29269000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNC01LTEtMS0yNjc0Mw_9ffb2e9e-bc3d-4cce-bf21-aaa620f1700d"
      unitRef="usd">37025000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNS0xLTEtMS0yNjc0Mw_225fd499-82dc-42fe-bae8-f7b108d46d2d"
      unitRef="usd">-745000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNS0zLTEtMS0yNjc0Mw_deebea14-73a8-445e-8661-165dad9832bb"
      unitRef="usd">-348000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNS01LTEtMS0yNjc0Mw_21524877-3130-47a4-8c8a-9fc5de8e6222"
      unitRef="usd">-260000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNi0xLTEtMS0yNjc0Mw_8d1d552b-2e46-440b-8232-5a3f63aad6b9"
      unitRef="usd">15751000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNi0zLTEtMS0yNjc0Mw_c2889078-b0e5-4ee5-8a5f-1b367b49bc5f"
      unitRef="usd">-29617000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNi01LTEtMS0yNjc0Mw_1201429a-34a7-4591-a971-d0341c95b192"
      unitRef="usd">36765000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfOC0xLTEtMS0yNjc0Mw_1a72f2e4-2c07-48a3-aa57-2a0ced087550"
      unitRef="usd">9946000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfOC0zLTEtMS0yNjc0Mw_46181101-da97-4078-9201-e2b2394d94a3"
      unitRef="usd">10396000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfOC01LTEtMS0yNjc0Mw_e6d3b7fe-4f3b-4a24-8f4f-780a00ad0f6a"
      unitRef="usd">10100000</us-gaap:Depreciation>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfOS0xLTEtMS0yNjc0Mw_ef057242-24a7-42d7-a389-f77964f92a13"
      unitRef="usd">0</dxpe:AssetImpairmentAndOtherCharges>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfOS0zLTEtMS0yNjc0Mw_3de75d0c-3e10-4c90-9e67-a77ef868af6f"
      unitRef="usd">59883000</dxpe:AssetImpairmentAndOtherCharges>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfOS01LTEtMS0yNjc0Mw_c5b1eeda-a7a1-4df3-81b6-9890c8be2eed"
      unitRef="usd">0</dxpe:AssetImpairmentAndOtherCharges>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTAtMS0xLTEtMjY3NDM_d6378849-ed32-4c43-a369-9e6bef88e7a6"
      unitRef="usd">17197000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTAtMy0xLTEtMjY3NDM_7902bf94-18f9-46e7-a8de-02a5c824cc59"
      unitRef="usd">12287000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTAtNS0xLTEtMjY3NDM_a23d3697-4d03-4fed-9bc0-926b3dfcaa04"
      unitRef="usd">15074000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTEtMS0xLTEtMjY3NDM_6718ef04-d937-4e7c-b410-b2e1144aed69"
      unitRef="usd">67000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTEtMy0xLTEtMjY3NDM_dee5bcf7-e58c-4a61-be47-89865da7b62d"
      unitRef="usd">1194000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTEtNS0xLTEtMjY3NDM_c6874f74-8aef-46b8-b1f7-b1cb0bd6d0b0"
      unitRef="usd">139000</us-gaap:ProvisionForDoubtfulAccounts>
    <dxpe:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationInExcessOfFairValue
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTItMS0xLTEtMjY3NDM_5d2d11a5-c996-4c04-902d-4b938523863d"
      unitRef="usd">45000</dxpe:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationInExcessOfFairValue>
    <dxpe:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationInExcessOfFairValue
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTItMy0xLTEtMjY3NDM_67d39060-2c1c-425c-a847-6a474761e5c8"
      unitRef="usd">136000</dxpe:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationInExcessOfFairValue>
    <dxpe:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationInExcessOfFairValue
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTItNS0xLTEtMjY3NDM_b6e84eda-9ce7-4b09-8488-2e9fcf0b43ee"
      unitRef="usd">106000</dxpe:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationInExcessOfFairValue>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTMtMS0xLTEtMjY3NDM_77d94222-fd1c-4062-b7c8-d4dcb34840bb"
      unitRef="usd">1558000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTMtMy0xLTEtMjY3NDM_d08c21fe-29ce-4284-bdc0-60c280b1dd8d"
      unitRef="usd">1875000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTMtNS0xLTEtMjY3NDM_f9f384e4-4b28-43d5-95ab-75d76711d0db"
      unitRef="usd">1875000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTQtMS0xLTEtMjY3NDM_28fb6245-61a8-47c2-9867-44ae49990934"
      unitRef="usd">504000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTQtMy0xLTEtMjY3NDM_f44d51c1-22aa-4a96-b742-9d79a0500ae0"
      unitRef="usd">-395000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTQtNS0xLTEtMjY3NDM_d5cced2d-c154-48ba-8ca7-d3d13039d74d"
      unitRef="usd">54000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTUtMS0xLTEtMjY3NDM_c2233759-3ea9-4833-a56f-60960dee2343"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTUtMy0xLTEtMjY3NDM_ffe8646a-838b-4e44-8ada-1d446d8bcdd6"
      unitRef="usd">-2288000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTUtNS0xLTEtMjY3NDM_0a31b646-555b-4b62-b535-09c526d8c397"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTYtMS0xLTEtMjY3NDM_d78021d8-9538-4ab0-a457-ba40e4bee4a1"
      unitRef="usd">282000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTYtMy0xLTEtMjY3NDM_058c35e9-841c-418b-b033-72d6bb6dfb06"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTYtNS0xLTEtMjY3NDM_b5fdf9ab-640c-4189-9752-6d50ed5187f7"
      unitRef="usd">9000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:ShareBasedCompensation
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTctMS0xLTEtMjY3NDM_8538fe61-e1cf-467a-a9b3-d5ec6be5a364"
      unitRef="usd">1823000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTctMy0xLTEtMjY3NDM_0c547081-621e-487e-9afd-f6e561379679"
      unitRef="usd">3532000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTctNS0xLTEtMjY3NDM_db338c16-51c4-4c41-ab1c-969ecea96991"
      unitRef="usd">1963000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTgtMS0xLTEtMjY3NDM_81df90b9-0877-4de1-a5ea-2052500e9144"
      unitRef="usd">6140000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTgtMy0xLTEtMjY3NDM_fcd7844d-7d55-4c29-98aa-c3b8e4ae1176"
      unitRef="usd">-14732000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMTgtNS0xLTEtMjY3NDM_ea2b1e04-af99-4236-9670-d571b3197d4c"
      unitRef="usd">840000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjAtMS0xLTEtMjY3NDM_99d1986f-a6e2-4928-a8a6-1df06a568bbd"
      unitRef="usd">43736000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjAtMy0xLTEtMjY3NDM_5e4b11b2-9e9e-43f1-b326-69012a7ab766"
      unitRef="usd">-44884000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjAtNS0xLTEtMjY3NDM_2241134b-5fa3-45e3-a747-910d0878f178"
      unitRef="usd">-7898000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjEtMS0xLTEtMjY3NDM_fc0bb69a-04aa-46c6-830b-9a5f703d63f5"
      unitRef="usd">-3991000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjEtMy0xLTEtMjY3NDM_e2872eed-804f-4bd3-b1cc-62cc600ccaf9"
      unitRef="usd">-14009000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjEtNS0xLTEtMjY3NDM_fc7afff1-2eff-4e60-ab89-2ac7a609fa1d"
      unitRef="usd">-92000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjItMS0xLTEtMjY3NDM_6793e113-bd48-490c-b030-1c0e0077ca54"
      unitRef="usd">5290000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjItMy0xLTEtMjY3NDM_60bcad6b-32a1-437c-8092-7b9643f22302"
      unitRef="usd">-22414000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjItNS0xLTEtMjY3NDM_9b5c484d-2d79-458b-aec1-8e3c1287a8b5"
      unitRef="usd">13910000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjMtMS0xLTEtMjY3NDM_ebaf054c-574b-4b2d-a10a-da1b094463b0"
      unitRef="usd">-649000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjMtMy0xLTEtMjY3NDM_5ddae7a0-14f0-4d6d-9be0-f56dc9c612bb"
      unitRef="usd">-13782000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjMtNS0xLTEtMjY3NDM_adc0ff73-98ce-4805-8365-76fc85be2c4a"
      unitRef="usd">-5110000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjQtMS0xLTEtMjY3NDM_a1ac9534-be90-42db-9a08-444dacac14d1"
      unitRef="usd">27004000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjQtMy0xLTEtMjY3NDM_7b0d1e5f-558c-4215-9782-d62e2cb43f02"
      unitRef="usd">-15345000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjQtNS0xLTEtMjY3NDM_df965b86-50cc-4a0b-9633-2bf871f3b005"
      unitRef="usd">-19003000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjUtMS0xLTEtMjY3NDM_358322a8-73ab-4e25-b04e-7100847bbff6"
      unitRef="usd">-772000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjUtMy0xLTEtMjY3NDM_c3837feb-bded-4b51-a60b-c271996440f2"
      unitRef="usd">-7816000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjUtNS0xLTEtMjY3NDM_4bb6c7f8-e6fc-4a13-85a3-208b57e8c054"
      unitRef="usd">1142000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjYtMS0xLTEtMjY3NDM_96d03d48-6ee1-462e-8aad-c18b3ce93c5b"
      unitRef="usd">2584000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjYtMy0xLTEtMjY3NDM_ed185eb0-328c-4579-8c1e-83a4bd5fbbce"
      unitRef="usd">-8853000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjYtNS0xLTEtMjY3NDM_a2dcc6e6-3ab7-44c1-aad5-b01aeee99cce"
      unitRef="usd">-6718000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjctMS0xLTEtMjY3NDM_18549a9e-d56c-4f3f-86a7-666ec0bd9032"
      unitRef="usd">37089000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjctMy0xLTEtMjY3NDM_eb222e64-e846-4b76-a835-3e9006c39244"
      unitRef="usd">109650000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMjctNS0xLTEtMjY3NDM_eeda200f-0154-481b-9f52-dd59cf3ef7bd"
      unitRef="usd">41306000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzAtMS0xLTEtMjY3NDM_b8b6567c-4a08-4226-9978-0f1252a94e58"
      unitRef="usd">5999000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzAtMy0xLTEtMjY3NDM_c11ac5bd-049a-41eb-9e2d-89c9ff8247c1"
      unitRef="usd">6672000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzAtNS0xLTEtMjY3NDM_c013927a-bc5a-4457-96ac-4651e38ec93a"
      unitRef="usd">22120000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzEtMS0xLTEtMjY3NDM_7ad389ac-88fa-4936-8022-18f884e37106"
      unitRef="usd">1669000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzEtMy0xLTEtMjY3NDM_6197831f-9549-467f-a001-12fb535564c1"
      unitRef="usd">123000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzEtNS0xLTEtMjY3NDM_230695a4-437e-43be-99fc-06cb6dfdfb97"
      unitRef="usd">35000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzItMS0xLTEtMjY3NDM_6cfad9b1-d23a-405f-9bd6-84a8c821e484"
      unitRef="usd">64693000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzItMy0xLTEtMjY3NDM_81ddab51-0e97-4592-83ab-8e9353e63107"
      unitRef="usd">115247000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzItNS0xLTEtMjY3NDM_026b330a-dbcb-4912-904a-b15ba98f1f71"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzMtMS0xLTEtMjY3NDM_f9801f01-7025-452c-875c-1eb4909a6767"
      unitRef="usd">-69023000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzMtMy0xLTEtMjY3NDM_e96d7da4-377a-4b0a-8c38-b665c01b514a"
      unitRef="usd">-121796000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzMtNS0xLTEtMjY3NDM_1b4ec2cf-2cee-49ec-9500-d1fdd990c7a6"
      unitRef="usd">-22085000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzYtMS0xLTEtMjY3NDM_f2947fd6-8f04-4543-8862-8714520e9f8a"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzYtMy0xLTEtMjY3NDM_e367019b-fd79-4182-8ac9-7cdaed7f16fe"
      unitRef="usd">330000000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzYtNS0xLTEtMjY3NDM_1a4e167e-f516-4876-8ac0-f3e5bffe5725"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzctMS0xLTEtMjY3NDM_80e26f3e-4b7c-4cc6-8604-f6fdac056710"
      unitRef="usd">3300000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzctMy0xLTEtMjY3NDM_c6ab71b9-b66a-4825-85a5-e64c9337e8b5"
      unitRef="usd">244375000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzctNS0xLTEtMjY3NDM_a2589118-7cd4-42a8-adb0-2119849e40e0"
      unitRef="usd">4341000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzgtMS0xLTEtMjY3NDM_d8ae5b4f-afea-4e4f-b1c3-1c43dc8bc1a3"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzgtMy0xLTEtMjY3NDM_f01d4d0a-351f-46f4-8e3f-10a05e510652"
      unitRef="usd">7268000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzgtNS0xLTEtMjY3NDM_bb0747fc-fdf4-4601-81a1-c2a02572dcf4"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzktMS0xLTEtMjY3NDM_b4afc3f1-20f4-4d37-b228-829c3ed55e64"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzktMy0xLTEtMjY3NDM_18ac1455-ae37-4893-91bb-0d2ad08b8e2a"
      unitRef="usd">1142000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzktNS0xLTEtMjY3NDM_7c38667c-f97f-492f-a05e-741f97cb6618"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzktMS0xLTEtMzAzMjY_395332b9-ba10-4051-9409-fd3cfdfb2de6"
      unitRef="usd">33511000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzktMy0xLTEtMzAzNDE_937b464a-7ebf-4482-8dc1-42bec3bc71e6"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfMzktNS0xLTEtMzAzMzQ_8a8b71f6-d956-4414-8192-dd9c78876d1f"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDAtMS0xLTEtMjY3NDM_27dee164-c2e5-4356-9a8f-a20714b8a64e"
      unitRef="usd">955000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDAtMy0xLTEtMjY3NDM_370f4f47-27db-4acd-bd17-c74d147880a4"
      unitRef="usd">1864000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDAtNS0xLTEtMjY3NDM_53880b01-089f-4bcd-b606-763deb338ce4"
      unitRef="usd">1394000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentsOfDividends
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDItMS0xLTEtMjY3NDM_2e1c5efa-4553-4ee1-9b2e-24107f9ee800"
      unitRef="usd">90000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDItMy0xLTEtMjY3NDM_e47b40d6-f1d0-482b-8236-3819fac55d4a"
      unitRef="usd">90000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDItNS0xLTEtMjY3NDM_01400dcd-109c-4888-b6f4-8e9fc04e4f77"
      unitRef="usd">90000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDMtMS0xLTEtMjY3NDM_1e8764aa-904e-477e-a99a-5169cf9a60b6"
      unitRef="usd">637000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDMtMy0xLTEtMjY3NDM_95b59d50-96a8-43ac-bbc5-77a7aafa46e7"
      unitRef="usd">139000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDMtNS0xLTEtMjY3NDM_b3443db0-89a4-42c3-9d24-911d45202f0c"
      unitRef="usd">267000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDQtMS0xLTEtMjY3NDM_58e3cb25-bb34-49f1-93b8-ab3d067d5b3f"
      unitRef="usd">-38493000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDQtMy0xLTEtMjY3NDM_f0e973c0-1612-4261-963b-5cfa31ec1386"
      unitRef="usd">77406000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDQtNS0xLTEtMjY3NDM_5cb4925f-d4c9-40de-9658-37000f29263c"
      unitRef="usd">-6092000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDUtMS0xLTEtMjY3NDM_5d73603a-a1c0-4a38-9161-8d4cccadaccf"
      unitRef="usd">88000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDUtMy0xLTEtMjY3NDM_8d01ac91-2f6e-4c8e-82d3-9d506d4b4cb2"
      unitRef="usd">-168000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDUtNS0xLTEtMjY3NDM_5a83a1c1-9a74-4aa8-ac23-4987d54e20f4"
      unitRef="usd">679000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDYtMS0xLTEtMjY3NDM_c9138dca-b0c2-4522-be99-7bfce742abc8"
      unitRef="usd">-70339000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDYtMy0xLTEtMjY3NDM_e9ec2ade-0031-4312-8872-79b72ce3a2a0"
      unitRef="usd">65092000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDYtNS0xLTEtMjY3NDM_d66641e2-f954-422f-9b46-ce4ffe1e2100"
      unitRef="usd">13808000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDctMS0xLTEtMjY3NDM_7dd391cd-2057-4051-af71-aef23701c099"
      unitRef="usd">119419000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDctMy0xLTEtMjY3NDM_30896cf2-d188-46d3-9357-75e1de54c256"
      unitRef="usd">54327000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i23fdb78e0ab04d078d1a10b84ef9ce5d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDctNS0xLTEtMjY3NDM_5f381a74-b346-4589-ba7e-5ca28792fe39"
      unitRef="usd">40519000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDgtMS0xLTEtMjY3NDM_d46464f7-7bdb-403c-9165-873fe5e97b65"
      unitRef="usd">49080000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDgtMy0xLTEtMjY3NDM_b8fa6c77-ebe7-409c-8b87-a15ab0013e74"
      unitRef="usd">119419000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNDgtNS0xLTEtMjY3NDM_171054eb-9359-499c-a13b-e3b99181064e"
      unitRef="usd">54327000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNTAtMS0xLTEtMjY3NDM_d67bf5af-fb4a-4517-8cbf-f1a2d206bab0"
      unitRef="usd">19531000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNTAtMy0xLTEtMjY3NDM_959982e9-8c08-4f8f-9dfa-2460153e1d72"
      unitRef="usd">13321000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNTAtNS0xLTEtMjY3NDM_00bdfe28-c096-4f90-bf81-bd7f463006ee"
      unitRef="usd">17623000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNTEtMS0xLTEtMjY3NDM_351967df-4218-4068-9110-18bbcb76af93"
      unitRef="usd">6120000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNTEtMy0xLTEtMjY3NDM_4d04ab02-de1a-4300-9bce-f37e10de844d"
      unitRef="usd">6277000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82NC9mcmFnOjFhMDUzNWI3NzQ4NzRlYjRiM2I0NzQzZTkzODFlYzMyL3RhYmxlOjgzODIwZDA3YTFiNDQxMzliNTk2ZjI2MDhmZjIzZDE3L3RhYmxlcmFuZ2U6ODM4MjBkMDdhMWI0NDEzOWI1OTZmMjYwOGZmMjNkMTdfNTEtNS0xLTEtMjY3NDM_ab394c06-74db-43c9-b803-6156da5b76a2"
      unitRef="usd">13318000</us-gaap:IncomeTaxesPaid>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i967905e21f2541bdbe6c8cd0f0362cfc_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS0xLTEtMS0yNjc0Mw_27f6a53b-b0cd-4f14-ba08-41c7af4fa8d0"
      unitRef="usd">1000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia9dddd5ac3cd4294a202e79cf77487b1_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS0zLTEtMS0yNjc0Mw_ba9e2d64-edc0-44d7-b721-4f093f663aa1"
      unitRef="usd">15000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i06d9fbf7fe794a429d19bd7c54de08ef_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS01LTEtMS0yNjc0Mw_bf0ca404-f960-49a3-8eaa-65e1fb2e8ac6"
      unitRef="usd">174000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i55fda7a65d284f70bf49e726afa50cae_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS03LTEtMS0yNjc0Mw_4ef93381-c6db-427b-9988-c6d68981d37c"
      unitRef="usd">156190000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7aa73b04234142baaed815897b3dfcef_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS05LTEtMS0yNjc0Mw_fb9b8544-ad53-4f08-aa0a-3ede6749436e"
      unitRef="usd">178729000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i22b04796d5d64e4bae83ce82bd6f6952_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS0xMS0xLTEtMjY3NDM_17f140d7-a03b-4428-a5e8-5bcf1fb88c7e"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iffad592b50c3428ea40460508ffb4d83_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS0xMy0xLTEtMjY3NDM_beb20e3a-63e9-4f2b-800f-f92284378f61"
      unitRef="usd">1406000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8101c9c6be8b422199e451e263130a09_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS0xNS0xLTEtMjY3NDM_4c0cf81b-8440-417d-bd97-ca3e4901cc6a"
      unitRef="usd">-19267000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i23fdb78e0ab04d078d1a10b84ef9ce5d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMS0xNy0xLTEtMjY3NDM_86a58ee5-c5ae-400f-bfb1-e460b0cd7caa"
      unitRef="usd">317248000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:Dividends
      contextRef="i7149d307c4054c8a94db3e4261a35697_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMi05LTEtMS0yNjc0Mw_6927c771-56a1-4bd2-a849-df7853f33870"
      unitRef="usd">90000</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMi0xNy0xLTEtMjY3NDM_5a22e688-fcfa-487d-a1c0-0c84d112be31"
      unitRef="usd">90000</us-gaap:Dividends>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="ib201c15f9fd14d54bcc2bdd4c943d838_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMy03LTEtMS0yNjc0Mw_0c45068f-5dfa-4f7d-92b4-efb2e91a4c76"
      unitRef="usd">1963000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMy0xNy0xLTEtMjY3NDM_197a03df-bed4-4b31-8300-c797ee427da5"
      unitRef="usd">1963000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ib201c15f9fd14d54bcc2bdd4c943d838_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfNC03LTEtMS0yNjc0Mw_e1be1152-79a0-42b0-8cb0-76a5730d0716"
      unitRef="usd">267000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfNC0xNy0xLTEtMjY3NDM_eef130c8-b12f-4bd8-bd89-ed3bfd7b929b"
      unitRef="usd">267000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="i7f0b80e6e044400b99e111e4e5cbfc3e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfNy0xNS0xLTEtMjY3NDM_e93c8cd5-b945-42b4-99d2-eca05e522869"
      unitRef="usd">-687000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfNy0xNy0xLTEtMjY3NDM_3a3257c7-40ed-47d4-baaf-82ce4c010633"
      unitRef="usd">-687000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:ProfitLoss
      contextRef="i7149d307c4054c8a94db3e4261a35697_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOC05LTEtMS0yNjc0Mw_88d7b281-a60c-4f7e-b71c-406d8d2f5127"
      unitRef="usd">37025000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="idb6da1a27315496da8e6274f2152dc28_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOC0xMy0xLTEtMjY3NDM_755756b9-dd06-4b76-a824-a6fd5612162c"
      unitRef="usd">-260000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOC0xNy0xLTEtMjY3NDM_e84287d4-24d6-4611-9237-dc908c9c263a"
      unitRef="usd">36765000</us-gaap:ProfitLoss>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8020e707a23f45939bc978665619a79e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS0xLTEtMS0yNjc0Mw_34f99e10-5329-49a2-a675-e83109ede4ff"
      unitRef="usd">1000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i58b5a4d7e62a42a481e73974fd1472b8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS0zLTEtMS0yNjc0Mw_72c364e7-5c6a-4a3e-91b0-8830f67dac6d"
      unitRef="usd">15000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i16f15d05c7c849dd9dfa1ea4ad2d0c48_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS01LTEtMS0yNjc0Mw_8702ebff-5d80-4eb6-a244-ef762a6e05f3"
      unitRef="usd">174000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="icbed312049ac4a8b945eb7da3bc8e2cd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS03LTEtMS0yNjc0Mw_e1858f67-5a7e-40fa-bfc3-b4f7d8bbe883"
      unitRef="usd">157886000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i37b0f419986c4f0d87b828ef259e5981_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS05LTEtMS0yNjc0Mw_84f25c97-f762-42bc-912a-2f916ac5282c"
      unitRef="usd">215664000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1f45320647e14a38a9809126f30bf7ab_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS0xMS0xLTEtMjY3NDM_fdf867f7-4481-40f4-8d3f-c34453f26f94"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i6e922fb0c5434e5f931c810ee7fa3814_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS0xMy0xLTEtMjY3NDM_35515b30-fd79-46ed-8a5d-99fcc2979028"
      unitRef="usd">1146000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ibe632762f3464a8b98bd737333d8658d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS0xNS0xLTEtMjY3NDM_d1f80716-7033-426b-a033-7585c14ba5c4"
      unitRef="usd">-19954000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfOS0xNy0xLTEtMjY3NDM_5f2a8347-91f4-490b-9865-d2bb1df8f360"
      unitRef="usd">354932000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:Dividends
      contextRef="ibc44c61dca684fc7bffd13d759152369_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTAtOS0xLTEtMjY3NDM_2fbcba48-57e3-4250-b1c2-56d1391edb45"
      unitRef="usd">90000</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTAtMTctMS0xLTI2NzQz_6142bfea-d4ef-4435-a463-191d2287fa61"
      unitRef="usd">90000</us-gaap:Dividends>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="i4b5d3afb25ea4c069ad0e7c38d724da1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTEtNy0xLTEtMjY3NDM_d3d42f7c-098d-483d-b133-0321959e7b15"
      unitRef="usd">3532000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTEtMTctMS0xLTI2NzQz_62635880-4391-4875-8173-c921d5a69642"
      unitRef="usd">3532000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i4b5d3afb25ea4c069ad0e7c38d724da1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTItNy0xLTEtMjY3NDM_6e7a528e-82d8-41fc-9a76-7a923aece18f"
      unitRef="usd">139000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTItMTctMS0xLTI2NzQz_a06a9b03-d012-493a-9f94-da42ab39020a"
      unitRef="usd">139000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="ic17c68fe679343f6b665999462c109de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTEtNS0xLTEtMjc1ODc_9f6107ab-3d2d-4961-b435-d46dfd2c1acf"
      unitRef="usd">15000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="i4b5d3afb25ea4c069ad0e7c38d724da1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTEtNy0xLTEtMjc1ODc_27c1b2c6-8dad-468d-80fa-044253a4d96c"
      unitRef="usd">29351000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTEtMTctMS0xLTI5NzQ2_fc082f12-366a-4fa5-9007-3cf6718e3b49"
      unitRef="usd">29366000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i4b5d3afb25ea4c069ad0e7c38d724da1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTItNy0xLTEtMjc1ODc_c24d71e5-1636-4809-87df-4b407cc2d884"
      unitRef="usd">1142000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTItMTctMS0xLTI5NzQ2_f431f871-6402-437a-8425-444d6b04167c"
      unitRef="usd">1142000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="i4b5d3afb25ea4c069ad0e7c38d724da1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTMtNy0xLTEtMjY3NDM_c2c7f730-436c-4d25-b172-6f19187a9989"
      unitRef="usd">296000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="ibc44c61dca684fc7bffd13d759152369_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTMtOS0xLTEtMjY3NDM_6967695e-004d-4bc0-8d4c-7dbeff36e9c6"
      unitRef="usd">-227000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="ib2a715e0f3ef4b0291737f9a9744f24b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTMtMTUtMS0xLTI2NzQz_11685202-1c4f-415f-9100-c7d18100e6d5"
      unitRef="usd">1941000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTMtMTctMS0xLTI2NzQz_7b056a82-6cbc-4d10-9bd3-160d2249615a"
      unitRef="usd">2010000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:ProfitLoss
      contextRef="ibc44c61dca684fc7bffd13d759152369_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTQtOS0xLTEtMjY3NDM_c31dbeb3-5210-40b0-9d80-3140f2eb900e"
      unitRef="usd">-29269000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i188b58ffd6fd4f23836bf58e2d349c51_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTQtMTMtMS0xLTI2NzQz_d01b0c78-05d6-4362-83ab-8b2b859e0b26"
      unitRef="usd">-348000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTQtMTctMS0xLTI2NzQz_8a0b8488-8298-4534-b7e5-965d57f898d1"
      unitRef="usd">-29617000</us-gaap:ProfitLoss>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4279257102f440e89ee16c77f52bc251_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtMS0xLTEtMjY3NDM_2ed19f1d-7bb5-4dd3-9aa8-e2a2e1b545b3"
      unitRef="usd">1000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ifa1007a945c34eb4af328116a3d21d91_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtMy0xLTEtMjY3NDM_7004efb4-5093-43e9-affe-f96fbad75114"
      unitRef="usd">15000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iefb2d8e44f1b4d2b9c146677532d8588_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtNS0xLTEtMjY3NDM_1f01fb77-3f59-4ef6-aa8a-31b9a23777db"
      unitRef="usd">189000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0008c715edd14ec3891b51ae4abab351_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtNy0xLTEtMjY3NDM_c1585cb8-f306-47c3-9c7e-ec8ea91ec6d7"
      unitRef="usd">192068000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5b6a28426b78403a820483286619ccdd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtOS0xLTEtMjY3NDM_d798c599-db08-4ee4-bc5a-e0f94c5db870"
      unitRef="usd">186078000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i962fa64063f341beade908d296e725c6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtMTEtMS0xLTI2NzQz_895950cc-ea39-4d46-9c2b-3132cf19bdb2"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie0fbf1baa611445abfc4df5a1e01225d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtMTMtMS0xLTI2NzQz_6b0f3eb2-ff76-4f1e-88aa-83d1cef228b4"
      unitRef="usd">798000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5a47a2d6e645472e943b410d00adc304_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtMTUtMS0xLTI2NzQz_76505f33-5792-4a1f-81d1-a5fc32d31c66"
      unitRef="usd">-18013000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTUtMTctMS0xLTI2NzQz_bff6dbd2-b830-45c0-bfc4-3cb082917d89"
      unitRef="usd">361136000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:Dividends
      contextRef="i0c55a2084aad4e14bd87fb2f47af7e15_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTYtOS0xLTEtMjY3NDM_b2751d83-1e11-45cb-987a-e1b048b1b3ac"
      unitRef="usd">90000</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTYtMTctMS0xLTI2NzQz_2c688169-7063-46fc-b47b-e79a1223cb88"
      unitRef="usd">90000</us-gaap:Dividends>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="i02fd405e34f24a5883438525142d3423_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTctNy0xLTEtMjY3NDM_0a8641c6-52fd-4b48-93e4-5e586752180b"
      unitRef="usd">1767000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTctMTctMS0xLTI2NzQz_f2c6ecc9-eb60-48a3-b1a9-c13692427e2b"
      unitRef="usd">1767000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i02fd405e34f24a5883438525142d3423_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTgtNy0xLTEtMjk3NTg_0942f0cf-1478-4579-862a-2016d737f057"
      unitRef="usd">56000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTgtMTctMS0xLTI5NzYw_f7a33922-30b5-4eef-b895-f9d6f9ac7336"
      unitRef="usd">56000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i02fd405e34f24a5883438525142d3423_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTgtNy0xLTEtMjY3NDM_20639b63-0859-42d1-9d63-1951efb9e9ef"
      unitRef="usd">637000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTgtMTctMS0xLTI2NzQz_2f0fdee9-2d5d-4c1b-8842-a4902b25f9a8"
      unitRef="usd">637000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i0130af4d22a443299fdc842012489ffb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTktNS0xLTEtMjY3NDM_597a7a2b-b149-49d2-a240-0acbf1a591c0"
      unitRef="usd">6000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i02fd405e34f24a5883438525142d3423_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTktNy0xLTEtMjY3NDM_02ccc9ab-6380-494c-88bd-d1e190387426"
      unitRef="usd">13518000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMTktMTctMS0xLTI2NzQz_3a3b7e57-e879-4f6e-976f-bec195a7f6d8"
      unitRef="usd">13524000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="i24b5c8944c2949c698b9c31c9b9779ee_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjEtMTUtMS0xLTI2NzQz_726f5417-baf1-4364-a423-5ed9471326d9"
      unitRef="usd">696000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjEtMTctMS0xLTI2NzQz_b4920bd8-ab23-4bfe-aae1-2ebeac078a87"
      unitRef="usd">696000</us-gaap:CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i3231d8af3f024105a5871864c79df6d5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjItMTEtMS0xLTI3Njc5_a92ca072-a8d6-40a3-b919-3215b4055a30"
      unitRef="usd">33511000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjItMTctMS0xLTI5NzY0_131d8371-bcd4-4bf3-b519-76190c5cd47c"
      unitRef="usd">33511000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:ProfitLoss
      contextRef="i0c55a2084aad4e14bd87fb2f47af7e15_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjItOS0xLTEtMjY3NDM_d1d89ebe-0a52-4f0e-a318-fc74fcd88cf6"
      unitRef="usd">16496000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="idd3693e093014674820c7b85a6aca3cb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjItMTMtMS0xLTI2NzQz_cc0f4083-3f70-469d-94ac-434ea8fd88be"
      unitRef="usd">-745000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjItMTctMS0xLTI2NzQz_6b9fc6f3-4301-4c26-ac3e-c124a3b10223"
      unitRef="usd">15751000</us-gaap:ProfitLoss>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i2d5eee9b9ed14a819fe94d4ae42fe8e3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtMS0xLTEtMjY3NDM_43c7e6ba-2e0e-4184-9bc7-d1d52d6d759b"
      unitRef="usd">1000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie424979d65b9446193f593576e5342dc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtMy0xLTEtMjY3NDM_5c3e08f2-8663-47cf-87fd-e7d33cf6c93c"
      unitRef="usd">15000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="if3f986a319ce44059259643c75997429_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtNS0xLTEtMjY3NDM_81681331-7a01-4a7e-a9c6-294ac2e438b5"
      unitRef="usd">195000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iced73de925334cedbbe006c56db91322_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtNy0xLTEtMjY3NDM_6f485dea-3010-456d-aa6b-66876e189cd1"
      unitRef="usd">206772000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iecd6bc431deb4fd2a24a951a18ef882d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtOS0xLTEtMjY3NDM_977768df-5bf7-4ef7-b2ee-3af4b0915b84"
      unitRef="usd">202484000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1de66b1fc58c4baf91803ea8ad55fc08_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtMTEtMS0xLTI2NzQz_12e222ac-5bc5-41c4-aeae-2f457774fc6c"
      unitRef="usd">-33511000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i246a0b636a92405e9eb5018ec892fae5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtMTMtMS0xLTI2NzQz_ba71a008-f34d-4dc3-98cb-bd3899aafacd"
      unitRef="usd">53000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9d272013f98f449f8e103a4a6cc1b4c8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtMTUtMS0xLTI2NzQz_e43889e4-a1b1-4edd-ad86-41a3d0749216"
      unitRef="usd">-17317000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl82Ny9mcmFnOmU3NWIyYmFjMGQyMDQ5ZjliN2FlOGU0NmY5YTVkZTE2L3RhYmxlOmE1OTBhNGVhNDk3ZDQxOWU5MWY2NzgxMzlkMWUyZTc4L3RhYmxlcmFuZ2U6YTU5MGE0ZWE0OTdkNDE5ZTkxZjY3ODEzOWQxZTJlNzhfMjMtMTctMS0xLTI2NzQz_43428e13-8ff6-4929-8e6e-42a745da0b49"
      unitRef="usd">358692000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NatureOfOperations
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83My9mcmFnOmQ2ZjExNjZjNjVjMTRjMjQ5OWY2YmQ5YjgwYzM0M2Y3L3RleHRyZWdpb246ZDZmMTE2NmM2NWMxNGMyNDk5ZjZiZDliODBjMzQzZjdfNzY5_de1d6323-1482-4f97-a815-7b01c4d26ad3">THE COMPANY&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;DXP Enterprises, Inc. together with its subsidiaries (collectively &#x201c;DXP,&#x201d; &#x201c;Company,&#x201d; &#x201c;us,&#x201d; &#x201c;we,&#x201d; or &#x201c;our&#x201d;) was incorporated in Texas on July 26, 1996. DXP Enterprises, Inc. and its subsidiaries are engaged in the business of distributing maintenance, repair and operating (MRO) products, and service to customers serving a variety of end markets. Additionally, DXP provides integrated, custom pump skid packages, pump remanufacturing and manufactures branded private label pumps to energy and industrial customers. The Company is organized into three business segments: Service Centers (&#x201c;SC&#x201d;), Supply Chain Services (&#x201c;SCS&#x201d;) and Innovative Pumping Solutions (&#x201c;IPS&#x201d;). See &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_139" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 21 - Segment and Geographical Reporting&lt;/a&gt;&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; for discussion of the business segments.&lt;/span&gt;</us-gaap:NatureOfOperations>
    <us-gaap:NumberOfOperatingSegments
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83My9mcmFnOmQ2ZjExNjZjNjVjMTRjMjQ5OWY2YmQ5YjgwYzM0M2Y3L3RleHRyZWdpb246ZDZmMTE2NmM2NWMxNGMyNDk5ZjZiZDliODBjMzQzZjdfNTYx_202b8c19-42d1-4205-89cb-28dbf140d4c1"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MzE_29aca3d0-d240-4aa6-ba29-2aef35a27be9">SUMMARY OF SIGNIFICANT ACCOUNTING AND BUSINESS POLICIES&lt;div style="text-align:justify"&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;Basis of Presentation&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;The Company&#x2019;s financial statements are prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;US GAAP&#x201d;). The accompanying consolidated financial statements include the accounts of the Company, its wholly owned subsidiaries and its variable interest entity (&#x201c;VIE&#x201d;).&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;DXP is the primary beneficiary of a VIE in which DXP owns 47.5% of the equity. DXP consolidates the financial statements of the VIE with the financial statements of DXP. As of December&#160;31, 2021, the total assets of the VIE were approximately $3.5 million including approximately $2.8 million of fixed assets. DXP is the primary customer of the VIE. Consolidation of the VIE increased cost of sales by approximately $1.8 million for the year ended December&#160;31, 2021 and decreased cost of sales by approximately $0.8 million for the year ended December&#160;31, 2020, respectively. The Company recognized a related income tax benefit of $150 thousand and $116 thousand related to the VIE for the years ended December&#160;31, 2021 and December&#160;31, 2020, respectively.&#160;As of December&#160;31, 2021, the owners of the 52.5% of the equity not owned by DXP included employees of DXP.&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;All significant intercompany accounts and transactions have been eliminated in consolidation.&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&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;Foreign Currency&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;The financial statements of the Company&#x2019;s Canadian subsidiaries are measured using local currencies as their functional currencies. Assets and liabilities are translated into U.S. dollars at current exchange rates, while income and expenses are translated at average exchange rates. Translation gains and losses are reported in other comprehensive income (loss). Gains and losses on transactions denominated in foreign currency are reported in the consolidated statements of operations and comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&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;Use of Estimates&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;The preparation of financial statements in conformity with US GAAP requires management to make estimates and assumptions in determining the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. In the opinion of management, all adjustments necessary in order to make the financial statements not misleading have been included. Actual results could differ from those estimates.&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-style:italic;font-weight:400;line-height:120%"&gt;Cash &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company places its cash with institutions with high credit quality. However, at certain times, such cash may be in excess of Federal Deposit Insurance Corporation (&#x201c;FDIC&#x201d;) insurance limits. The Company has not historically experienced any losses when in excess of these limits.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&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;Receivables and Credit Risk&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;Trade receivables consist primarily of uncollateralized customer obligations due under normal trade terms, which usually require payment within 30 days of the invoice date. However, these payment terms are extended in select cases and customers may not pay within stated trade terms.&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 trade receivables from a diversified customer base located primarily in the Rocky Mountain, Northeastern, Midwestern, Southeastern and Southwestern regions of the United States and Canada. The Company believes no significant concentration of credit risk exists. The Company evaluates the creditworthiness of its customers' financial positions and monitors accounts on a regular basis. Provisions to the allowance for doubtful accounts are made monthly and adjustments are made periodically (as circumstances warrant) based upon management&#x2019;s best estimate of the collectability of such accounts under the current expected credit losses model. The Company writes-off uncollectible trade accounts receivable when the accounts are determined to be uncollectible. No customer represents more than 10% of consolidated sales.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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 this allowance for 2021, 2020 and 2019 were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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.531%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.413%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&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 at beginning of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;8,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;8,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&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;Charged to costs and expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67&#160;&lt;/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,194&#160;&lt;/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;139&#160;&lt;/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="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;&#160;&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;Charged to other accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="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;21&#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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="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;79&#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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/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;Deductions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(948)&lt;/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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,516)&lt;/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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,415)&lt;/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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&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 at end of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;7,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;8,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;8,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Primarily due to translation adjustments&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&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; Uncollectible accounts written off, net of recoveries&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-style:italic;font-weight:400;line-height:120%"&gt;Inventories&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;Inventories consist principally of equipment purchased for resale or finished goods and are priced at net realizable value, cost being primarily determined using the weighted average cost method. The Company regularly reviews inventory to evaluate continued demand and records provisions for the difference between cost and net realizable value arising from excess and obsolete items on hand.  Provisions are provided against inventories for estimated excess and obsolescence based upon the aging of the inventories and market trends and are applied as a reduction in cost of the associated inventory.&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-style:italic;font-weight:400;line-height:120%"&gt;Property and Equipment&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;Property and equipment are recorded on a historical cost basis. Depreciation of property and equipment is computed using the straight-line method over their estimated useful lives. Maintenance and repairs of depreciable assets are charged against earnings as incurred. When properties are retired or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and gains or losses are credited or charged to earnings.  Property and equipment is reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of the long-lived asset (group) might not be&lt;/span&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;recoverable.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The principal estimated useful lives used in determining depreciation are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&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;Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20-39 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10-20 years&lt;/span&gt;&lt;/div&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;Furniture, fixtures and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-20 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;Shorter of estimated useful life or related lease term&lt;/span&gt;&lt;/td&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-style:italic;font-weight:400;line-height:120%"&gt;Impairment of Goodwill and Other Intangible Assets&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;The Company tests goodwill and other indefinite lived intangible assets for impairment on an annual basis in the fourth quarter and when events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company assigns the carrying value of these intangible assets to its "reporting units" and applies the test for goodwill at the reporting unit level. A reporting unit is defined as an operating segment or one level below a segment (a "component") if the component is a business and discrete information is prepared and reviewed regularly by segment management.&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;The Company&#x2019;s goodwill impairment assessment first permits evaluating qualitative factors to determine if a reporting unit's carrying value would more likely than not exceed its fair value. If the Company concludes, based on the qualitative assessment, that a reporting unit's carrying value would more likely than not exceed its fair value, the Company would perform a quantitative test for that reporting unit.  Should the reporting unit's carrying amount exceed the fair value, then an impairment charge for the excess would be recognized. The impairment charge is limited to the amount of goodwill allocated to the reporting unit, and goodwill will not be reduced below zero. For the twelve months ended December 31, 2020, goodwill was &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;evaluated for impairment at the reporting unit level resulting in a $36.4 million goodwill impairment which was included in impairment charges in the consolidated statement of operations. No impairment of goodwill was required in 2021 and 2019.&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&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;Impairment of Long-Lived Assets, Excluding Goodwill&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;The Company tests long-lived assets or asset groups for recoverability when events or changes in circumstances indicate that their carrying amount may not be recoverable. Circumstances which could trigger a review include, but are not limited to: significant decreases in the market price of the asset; significant adverse changes in the business climate or legal factors; accumulation of costs significantly in excess of the amount originally expected for the acquisition or construction of the asset; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset; and current expectation that the asset will more likely than not be sold or disposed significantly before the end of its estimated useful life. Recoverability is assessed based on the carrying amount of the asset and its fair value which is generally determined based on the sum of the undiscounted cash flows expected to result from the use and the eventual disposal of the asset, as well as specific appraisal in certain instances. An impairment loss is recognized when the carrying amount is not recoverable and exceeds fair value. For the twelve months ended December 31, 2020, long-lived assets were evaluated for impairment at the reporting unit level resulting in a $4.8 million long-lived assets impairment which was included in impairment charges in the consolidated statement of operations. No impairment of long-lived assets was required in 2021 and 2019.&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-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition&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;The Company fabricates and assembles custom-made pump packages, remanufactures pumps and manufactures branded private label pumps within our Innovative Pumping Solutions segment. For binding agreements to fabricate tangible assets to customer specifications, the Company recognizes revenues over time when the customer is able to direct the use of and obtain substantially all of the benefits of the work performed. This typically occurs when the products have no alternative use for us and we have a right to payment for the work completed to date plus a reasonable profit margin. Contracts generally include cancellation provisions that require the customer to reimburse us for costs incurred through the date of cancellation. We recognize revenue for these contracts using the percentage of completion method, an "input method" as defined by ASC 606, "Revenue from Contracts with Customers". Under this method, revenues are recognized as costs are incurred and include estimated profits calculated on the basis of the relationship between costs incurred and total estimated costs at completion. If at any time expected costs exceed the value of the contract, the loss is recognized immediately. The typical time span of these contracts is approximately one to two years. &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 Service Centers segment provides a wide range of maintenance, repair and operating (MRO) products, equipment and integrated services, including logistics capabilities, to industrial customers. The Supply Chain Services segment also provides a wide range of MRO products as well as manages all or part of various customers' supply chain, including warehouse and inventory management services.  Revenue is recognized upon the completion of our performance obligation(s) under the sales agreement. The majority of the Service Centers and Supply Chain Services segment revenues originate from the satisfaction of a single performance obligation, the delivery of products. Revenues are recognized when an agreement is in place, the performance obligations under the contract have been identified, and the price or consideration to be received is fixed and allocated to the performance obligation(s) in the contract. We believe our performance obligation has been satisfied when title passes to the customer or services have been rendered under the contract. Revenues are recorded net of sales taxes.  &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 reserves for potential customer returns based upon the historical level of returns. &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-style:italic;font-weight:400;line-height:120%"&gt;Shipping and Handling Costs&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;The Company classifies shipping and handling charges billed to customers as sales. Shipping and handling charges paid to others are classified as a component of cost of sales.&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-style:italic;font-weight:400;line-height:120%"&gt;Self-insured Insurance and Medical Claims&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;We generally retain up to $100,000 of risk for each claim for workers compensation, general liability, automobile and property loss. We accrue for the estimated loss on the self-insured portion of these claims. The accrual is adjusted quarterly based upon reported claims information. The actual cost could deviate from the recorded estimate.&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;We generally retain up to $175,000 of risk on each medical claim for our employees and their dependents with the exception of less than 0.05% of employees where a higher risk is retained. We accrue for the estimated outstanding balance of unpaid medical claims for our employees and their dependents. The accrual is adjusted monthly based on recent claims experience. The actual claims could deviate from recent claims experience and be materially different from the reserve.&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 accrual for these claims at December&#160;31, 2021 and 2020 was approximately $2.8 million and $2.6 million, 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&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;Cost of Sales and Selling, General and Administrative Expense&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;Cost of sales includes product and product related costs, inbound freight charges, internal transfer costs and depreciation. Selling, general and administrative expense includes purchasing and receiving costs, inspection costs, warehousing costs, depreciation and amortization.&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-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&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;The Company utilizes the asset and liability method of accounting for income taxes. Deferred income tax assets and liabilities are computed for differences between the financial statement and income tax bases of assets and liabilities. Such deferred income tax asset and liability computations are based on enacted tax laws and rates applicable to periods in which the differences are expected to reverse. Valuation allowances are established to reduce deferred income tax assets to the amounts expected to be realized under a more likely than not criterion.&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-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Uncertainty in Income Taxes&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;A position taken or expected to be taken in a tax return is recognized in the financial statements when it is more likely than not (i.e. a likelihood of more than fifty percent) that the position would be sustained upon examination by tax authorities. A recognized tax position is then measured at the largest amount of benefit that is greater than fifty percent likely of being realized upon ultimate settlement. The Company and its subsidiaries file income tax returns in the U.S. federal jurisdiction and various states. With few exceptions, the Company is no longer subject to U.S. federal, state and local tax examination by tax authorities for years prior to 2018. The Company's policy is to recognize interest related to unrecognized tax benefits as interest expense and penalties as operating expenses. The Company believes that it has appropriate support for the income tax positions taken and to be taken on its tax returns and that its accruals for tax liabilities are adequate for all open years based on an assessment of many factors including past experience and interpretations of tax law applied to the facts of each matter.&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-style:italic;font-weight:400;line-height:120%"&gt;Comprehensive Income (Loss)&lt;/span&gt;&lt;/div&gt;Comprehensive income (loss) includes net income and foreign currency translation adjustments. The Company&#x2019;s other comprehensive (loss) income is from translating foreign subsidiaries to the reporting currency.</us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MzI_0a20126e-285e-4aa1-a63e-d2a537e54d30">&lt;div style="text-align:justify"&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;Basis of Presentation&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;The Company&#x2019;s financial statements are prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;US GAAP&#x201d;). The accompanying consolidated financial statements include the accounts of the Company, its wholly owned subsidiaries and its variable interest entity (&#x201c;VIE&#x201d;).&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;DXP is the primary beneficiary of a VIE in which DXP owns 47.5% of the equity. DXP consolidates the financial statements of the VIE with the financial statements of DXP. As of December&#160;31, 2021, the total assets of the VIE were approximately $3.5 million including approximately $2.8 million of fixed assets. DXP is the primary customer of the VIE. Consolidation of the VIE increased cost of sales by approximately $1.8 million for the year ended December&#160;31, 2021 and decreased cost of sales by approximately $0.8 million for the year ended December&#160;31, 2020, respectively. The Company recognized a related income tax benefit of $150 thousand and $116 thousand related to the VIE for the years ended December&#160;31, 2021 and December&#160;31, 2020, respectively.&#160;As of December&#160;31, 2021, the owners of the 52.5% of the equity not owned by DXP included employees of DXP.&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;All significant intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:VariableInterestEntityOwnershipPercentage
      contextRef="iebc8e609c4da4079b60c31f1b5b1d2aa_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfNDY2_1f65b963-b370-46be-81d4-dfd27c643655"
      unitRef="number">0.475</us-gaap:VariableInterestEntityOwnershipPercentage>
    <us-gaap:Assets
      contextRef="id224bdd8c482440bb27b134607bffc94_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfNjMy_705477a6-3aa8-4e2a-a58f-df889021b48e"
      unitRef="usd">3500000</us-gaap:Assets>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="id224bdd8c482440bb27b134607bffc94_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfNjU5_c0fe83ea-4204-4b07-8961-04fa09fc53d8"
      unitRef="usd">2800000</us-gaap:PropertyPlantAndEquipmentNet>
    <dxpe:CostsOfGoodAndServicesSoldIncreaseDecrease
      contextRef="iebc8e609c4da4079b60c31f1b5b1d2aa_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfNzg1_790c7a72-c3a9-4a2b-a105-f25e60060902"
      unitRef="usd">1800000</dxpe:CostsOfGoodAndServicesSoldIncreaseDecrease>
    <dxpe:CostsOfGoodAndServicesSoldIncreaseDecrease
      contextRef="i7a8fe544465d4de8a689e26aec1b5c4a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfODU1_c1ac119a-b99a-4f2b-b296-02665f7d8639"
      unitRef="usd">-800000</dxpe:CostsOfGoodAndServicesSoldIncreaseDecrease>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iebc8e609c4da4079b60c31f1b5b1d2aa_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfOTUw_d1b11270-9be5-49d4-8809-fca87e0248c4"
      unitRef="usd">-150000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i7a8fe544465d4de8a689e26aec1b5c4a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfOTU3_9259f6b9-eab2-444a-a2a5-68d46c5f42db"
      unitRef="usd">-116000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:VariableInterestEntityOwnershipPercentage
      contextRef="iffdb918f72c0434183717d4683e3c880_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTA1Mg_5509a159-c2c2-48ca-a023-1e56a0f380d6"
      unitRef="number">0.525</us-gaap:VariableInterestEntityOwnershipPercentage>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3NDU_84636f8d-3780-46d7-aff3-aa57bc708b2a">&lt;div&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;Foreign Currency&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;The financial statements of the Company&#x2019;s Canadian subsidiaries are measured using local currencies as their functional currencies. Assets and liabilities are translated into U.S. dollars at current exchange rates, while income and expenses are translated at average exchange rates. Translation gains and losses are reported in other comprehensive income (loss). Gains and losses on transactions denominated in foreign currency are reported in the consolidated statements of operations and comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3NDA_735397c8-7bfb-43e1-a8b3-789f59222c19">&lt;div&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;Use of Estimates&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;The preparation of financial statements in conformity with US GAAP requires management to make estimates and assumptions in determining the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. In the opinion of management, all adjustments necessary in order to make the financial statements not misleading have been included. Actual results could differ from those estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MjM_06813059-4075-4a6d-a4bd-c5a0dbdc5134">&lt;div style="text-align:justify"&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;Cash &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company places its cash with institutions with high credit quality. However, at certain times, such cash may be in excess of Federal Deposit Insurance Corporation (&#x201c;FDIC&#x201d;) insurance limits. The Company has not historically experienced any losses when in excess of these limits.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MDc_67ad04b5-5e35-4454-9709-be9376b2b354">&lt;div&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;Receivables and Credit Risk&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;Trade receivables consist primarily of uncollateralized customer obligations due under normal trade terms, which usually require payment within 30 days of the invoice date. However, these payment terms are extended in select cases and customers may not pay within stated trade terms.&lt;/span&gt;&lt;/div&gt;The Company has trade receivables from a diversified customer base located primarily in the Rocky Mountain, Northeastern, Midwestern, Southeastern and Southwestern regions of the United States and Canada. The Company believes no significant concentration of credit risk exists. The Company evaluates the creditworthiness of its customers' financial positions and monitors accounts on a regular basis. Provisions to the allowance for doubtful accounts are made monthly and adjustments are made periodically (as circumstances warrant) based upon management&#x2019;s best estimate of the collectability of such accounts under the current expected credit losses model. The Company writes-off uncollectible trade accounts receivable when the accounts are determined to be uncollectible. No customer represents more than 10% of consolidated sales.</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MDg_66e21ca2-641b-4707-9061-5765de75ca50">&lt;div style="margin-bottom:6pt;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 this allowance for 2021, 2020 and 2019 were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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.531%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.413%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&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 at beginning of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;8,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;8,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&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;Charged to costs and expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67&#160;&lt;/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,194&#160;&lt;/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;139&#160;&lt;/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="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;&#160;&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;Charged to other accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="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;21&#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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="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;79&#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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/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;Deductions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(948)&lt;/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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,516)&lt;/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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,415)&lt;/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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&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 at end of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;7,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;8,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;8,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Primarily due to translation adjustments&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&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; Uncollectible accounts written off, net of recoveries&lt;/span&gt;&lt;/div&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfMi0xLTEtMS0yNjc0Mw_a5ac5eed-8d39-4c4c-b428-a49fd86fb259"
      unitRef="usd">8628000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfMi0zLTEtMS0yNjc0Mw_3e1d13f3-ae1f-4884-b4ba-b6ae38a452cc"
      unitRef="usd">8929000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i23fdb78e0ab04d078d1a10b84ef9ce5d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfMi01LTEtMS0yNjc0Mw_1555e89f-3fd7-4425-86b7-3833cd17269f"
      unitRef="usd">10126000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfMy0xLTEtMS0yNjc0Mw_6cf57fc3-53fc-44d9-ba37-d3672f9f98bc"
      unitRef="usd">67000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfMy0zLTEtMS0yNjc0Mw_3ae4bb71-c3b6-4cc5-b4b3-89cbf9acbe25"
      unitRef="usd">1194000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfMy01LTEtMS0yNjc0Mw_48e49ebe-32a0-4363-a473-03beac4b95f8"
      unitRef="usd">139000</us-gaap:ProvisionForDoubtfulAccounts>
    <dxpe:AccountsReceivableCreditLossExpenseReversalOtherAccounts
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNC0xLTEtMS0yNjc0Mw_59acb44d-38e8-4f16-846d-be3fea5cce26"
      unitRef="usd">12000</dxpe:AccountsReceivableCreditLossExpenseReversalOtherAccounts>
    <dxpe:AccountsReceivableCreditLossExpenseReversalOtherAccounts
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNC0zLTEtMS0yNjc0Mw_ed8183b7-1405-42a9-99c2-df9396cb6d30"
      unitRef="usd">21000</dxpe:AccountsReceivableCreditLossExpenseReversalOtherAccounts>
    <dxpe:AccountsReceivableCreditLossExpenseReversalOtherAccounts
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNC01LTEtMS0yNjc0Mw_ff374022-071b-4100-81e5-6bff18d2803a"
      unitRef="usd">79000</dxpe:AccountsReceivableCreditLossExpenseReversalOtherAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNS0xLTEtMS0yNjc0Mw_0a505240-41ac-42c9-8298-128239f848cc"
      unitRef="usd">948000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNS0zLTEtMS0yNjc0Mw_6c620519-03c1-4ac0-84e6-a3253ed9db14"
      unitRef="usd">1516000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNS01LTEtMS0yNjc0Mw_a06a3b72-7a06-4682-ba26-ed148f26995e"
      unitRef="usd">1415000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNi0xLTEtMS0yNjc0Mw_30514c63-8aaa-4510-ad9a-b77e0868780e"
      unitRef="usd">7759000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNi0zLTEtMS0yNjc0Mw_920c8b8b-06fd-4fab-9fbe-00c676824581"
      unitRef="usd">8628000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOmIzNmI3ZTU0YTY3ZjQxODlhZGI3ODFiYzIzMTMyYWVlL3RhYmxlcmFuZ2U6YjM2YjdlNTRhNjdmNDE4OWFkYjc4MWJjMjMxMzJhZWVfNi01LTEtMS0yNjc0Mw_017b2fb3-e52a-4ba9-b5a2-9e624c8c0282"
      unitRef="usd">8929000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3NDM_552f2204-77b1-4107-8892-d349f19af449">&lt;div style="text-align:justify"&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;Inventories&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;Inventories consist principally of equipment purchased for resale or finished goods and are priced at net realizable value, cost being primarily determined using the weighted average cost method. The Company regularly reviews inventory to evaluate continued demand and records provisions for the difference between cost and net realizable value arising from excess and obsolete items on hand.  Provisions are provided against inventories for estimated excess and obsolescence based upon the aging of the inventories and market trends and are applied as a reduction in cost of the associated inventory.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MjU_ad0392c8-e9c5-4e4e-bb74-db6186b35d9b">&lt;div style="text-align:justify"&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;Property and Equipment&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;Property and equipment are recorded on a historical cost basis. Depreciation of property and equipment is computed using the straight-line method over their estimated useful lives. Maintenance and repairs of depreciable assets are charged against earnings as incurred. When properties are retired or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and gains or losses are credited or charged to earnings.  Property and equipment is reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of the long-lived asset (group) might not be&lt;/span&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;recoverable.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The principal estimated useful lives used in determining depreciation are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&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;Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20-39 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10-20 years&lt;/span&gt;&lt;/div&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;Furniture, fixtures and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-20 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;Shorter of estimated useful life or related lease term&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <dxpe:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MzU_49dafd8b-d721-490b-9aa5-76c17788d640">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The principal estimated useful lives used in determining depreciation are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&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;Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20-39 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10-20 years&lt;/span&gt;&lt;/div&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;Furniture, fixtures and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-20 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;Shorter of estimated useful life or related lease term&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</dxpe:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i114c02f61a6c49cd90b12a5ffb1dbc02_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOjk2Y2NlMWM0ZGNlNzRhOWNiZjNmY2ZhNzk2OGE5YWU2L3RhYmxlcmFuZ2U6OTZjY2UxYzRkY2U3NGE5Y2JmM2ZjZmE3OTY4YTlhZTZfMC0xLTEtMS0yNjc0My90ZXh0cmVnaW9uOmJhNjcyNzY0YWU3MTRjZTc4ZWQzZmYxYmM0MGMyNjYzXzQ_b9547781-3b30-479e-bbd1-15be3edd6996">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ibe1d2bc6f8594381b65ad13900510e45_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOjk2Y2NlMWM0ZGNlNzRhOWNiZjNmY2ZhNzk2OGE5YWU2L3RhYmxlcmFuZ2U6OTZjY2UxYzRkY2U3NGE5Y2JmM2ZjZmE3OTY4YTlhZTZfMC0xLTEtMS0yNjc0My90ZXh0cmVnaW9uOmJhNjcyNzY0YWU3MTRjZTc4ZWQzZmYxYmM0MGMyNjYzXzc_36fd820e-d97d-4c88-8675-9d56c7c54603">P39Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="iefafaef3a46542eeabfdfdefc90b43b9_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOjk2Y2NlMWM0ZGNlNzRhOWNiZjNmY2ZhNzk2OGE5YWU2L3RhYmxlcmFuZ2U6OTZjY2UxYzRkY2U3NGE5Y2JmM2ZjZmE3OTY4YTlhZTZfMS0xLTEtMS0yNjc0My90ZXh0cmVnaW9uOjNkYWMxNzNhYzBkMDRjNDZhOGZjMjYyZDgzMWQ4ZTlmXzQ_8a180d7e-8a4a-452f-bf16-661635e021d4">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i99d4017667684c6f89a655d31e72318e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOjk2Y2NlMWM0ZGNlNzRhOWNiZjNmY2ZhNzk2OGE5YWU2L3RhYmxlcmFuZ2U6OTZjY2UxYzRkY2U3NGE5Y2JmM2ZjZmE3OTY4YTlhZTZfMS0xLTEtMS0yNjc0My90ZXh0cmVnaW9uOjNkYWMxNzNhYzBkMDRjNDZhOGZjMjYyZDgzMWQ4ZTlmXzc_3788ae5b-e587-4404-b851-3b4eb810fa6d">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i79d72abdcd0a46aeb129e57fbd3c5255_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOjk2Y2NlMWM0ZGNlNzRhOWNiZjNmY2ZhNzk2OGE5YWU2L3RhYmxlcmFuZ2U6OTZjY2UxYzRkY2U3NGE5Y2JmM2ZjZmE3OTY4YTlhZTZfMi0xLTEtMS0yNjc0My90ZXh0cmVnaW9uOmNiMzZiMDg1ZGNjMjRlMDFhMzg3MTQ1MDNmMzY4NWJlXzQ_b80eeb73-ad69-4b9e-8eca-d1ecff2da4ef">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="icc234b40e42e447bbe76cd518a842b58_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOjk2Y2NlMWM0ZGNlNzRhOWNiZjNmY2ZhNzk2OGE5YWU2L3RhYmxlcmFuZ2U6OTZjY2UxYzRkY2U3NGE5Y2JmM2ZjZmE3OTY4YTlhZTZfMi0xLTEtMS0yNjc0My90ZXh0cmVnaW9uOmNiMzZiMDg1ZGNjMjRlMDFhMzg3MTQ1MDNmMzY4NWJlXzc_c59939ee-96dd-4794-ade3-a53d1082245b">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives
      contextRef="ic0e4e16b30174eddb9222e6821169930_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RhYmxlOjk2Y2NlMWM0ZGNlNzRhOWNiZjNmY2ZhNzk2OGE5YWU2L3RhYmxlcmFuZ2U6OTZjY2UxYzRkY2U3NGE5Y2JmM2ZjZmE3OTY4YTlhZTZfMy0xLTEtMS0yNjc0Mw_454e9d6a-a69e-4067-8daa-6c476b008885">Shorter of estimated useful life or related lease term</us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3Mjg_a9bdad3c-122d-42a3-a7dc-602a7009d144">&lt;div style="text-align:justify"&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;Impairment of Goodwill and Other Intangible Assets&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;The Company tests goodwill and other indefinite lived intangible assets for impairment on an annual basis in the fourth quarter and when events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company assigns the carrying value of these intangible assets to its "reporting units" and applies the test for goodwill at the reporting unit level. A reporting unit is defined as an operating segment or one level below a segment (a "component") if the component is a business and discrete information is prepared and reviewed regularly by segment management.&lt;/span&gt;&lt;/div&gt;The Company&#x2019;s goodwill impairment assessment first permits evaluating qualitative factors to determine if a reporting unit's carrying value would more likely than not exceed its fair value. If the Company concludes, based on the qualitative assessment, that a reporting unit's carrying value would more likely than not exceed its fair value, the Company would perform a quantitative test for that reporting unit.  Should the reporting unit's carrying amount exceed the fair value, then an impairment charge for the excess would be recognized. The impairment charge is limited to the amount of goodwill allocated to the reporting unit, and goodwill will not be reduced below zero.</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfNjk1Ng_381f601f-31ff-41b9-a3e1-56c8278c6655"
      unitRef="usd">36400000</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfODc5NjA5MzAzNzYyMQ_812767fe-443d-4afe-add8-e2399bf36d7f"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfODc5NjA5MzAzNzYyMQ_a2644fb3-3684-482d-885a-1fd412172ce7"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MTk_b177c973-f04d-4f6c-a925-22cdaf962533">Impairment of Long-Lived Assets, Excluding GoodwillThe Company tests long-lived assets or asset groups for recoverability when events or changes in circumstances indicate that their carrying amount may not be recoverable. Circumstances which could trigger a review include, but are not limited to: significant decreases in the market price of the asset; significant adverse changes in the business climate or legal factors; accumulation of costs significantly in excess of the amount originally expected for the acquisition or construction of the asset; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset; and current expectation that the asset will more likely than not be sold or disposed significantly before the end of its estimated useful life. Recoverability is assessed based on the carrying amount of the asset and its fair value which is generally determined based on the sum of the undiscounted cash flows expected to result from the use and the eventual disposal of the asset, as well as specific appraisal in certain instances. An impairment loss is recognized when the carrying amount is not recoverable and exceeds fair value.</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfODQ1Ng_705553d6-0c62-4fde-8bbb-2f4e99e34335"
      unitRef="usd">4800000</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfODc5NjA5MzAzNzYzMA_2294eb81-c55a-48f7-9c2b-beaa43888545"
      unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfODc5NjA5MzAzNzYzMA_86bd650e-1aa6-4879-b47b-04e292a2306c"
      unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MjA_6b056bd5-d51e-4cb9-9d23-c311f7793eea">&lt;div style="text-align:justify"&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;Revenue Recognition&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;The Company fabricates and assembles custom-made pump packages, remanufactures pumps and manufactures branded private label pumps within our Innovative Pumping Solutions segment. For binding agreements to fabricate tangible assets to customer specifications, the Company recognizes revenues over time when the customer is able to direct the use of and obtain substantially all of the benefits of the work performed. This typically occurs when the products have no alternative use for us and we have a right to payment for the work completed to date plus a reasonable profit margin. Contracts generally include cancellation provisions that require the customer to reimburse us for costs incurred through the date of cancellation. We recognize revenue for these contracts using the percentage of completion method, an "input method" as defined by ASC 606, "Revenue from Contracts with Customers". Under this method, revenues are recognized as costs are incurred and include estimated profits calculated on the basis of the relationship between costs incurred and total estimated costs at completion. If at any time expected costs exceed the value of the contract, the loss is recognized immediately. The typical time span of these contracts is approximately one to two years. &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 Service Centers segment provides a wide range of maintenance, repair and operating (MRO) products, equipment and integrated services, including logistics capabilities, to industrial customers. The Supply Chain Services segment also provides a wide range of MRO products as well as manages all or part of various customers' supply chain, including warehouse and inventory management services.  Revenue is recognized upon the completion of our performance obligation(s) under the sales agreement. The majority of the Service Centers and Supply Chain Services segment revenues originate from the satisfaction of a single performance obligation, the delivery of products. Revenues are recognized when an agreement is in place, the performance obligations under the contract have been identified, and the price or consideration to be received is fixed and allocated to the performance obligation(s) in the contract. We believe our performance obligation has been satisfied when title passes to the customer or services have been rendered under the contract. Revenues are recorded net of sales taxes.  &lt;/span&gt;&lt;/div&gt;The Company reserves for potential customer returns based upon the historical level of returns.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:RevenuePerformanceObligationDescriptionOfTiming
      contextRef="i358c8b6ebfaf4be1916cc871f47dae67_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfOTg2Ng_ae6fbd7c-8eb0-41ab-b852-3349f981a40e">one</us-gaap:RevenuePerformanceObligationDescriptionOfTiming>
    <us-gaap:RevenuePerformanceObligationDescriptionOfTiming
      contextRef="i32129c6200ff4688a0718e39043436f9_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfOTg3Mg_a6370fff-5a97-49c0-bb37-5aa719c37128">two</us-gaap:RevenuePerformanceObligationDescriptionOfTiming>
    <us-gaap:CostOfSalesPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MTI_ebf5ca44-4914-4b1c-95c7-055b756b5d34">&lt;div style="text-align:justify"&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;Shipping and Handling Costs&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;The Company classifies shipping and handling charges billed to customers as sales. Shipping and handling charges paid to others are classified as a component of cost of sales.&lt;/span&gt;&lt;/div&gt;</us-gaap:CostOfSalesPolicyTextBlock>
    <dxpe:SelfInsuredInsuranceAndMedicalClaimsPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MDk_0b43142f-7f47-4726-ad08-ea7c8c90518f">&lt;div style="text-align:justify"&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;Self-insured Insurance and Medical Claims&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;We generally retain up to $100,000 of risk for each claim for workers compensation, general liability, automobile and property loss. We accrue for the estimated loss on the self-insured portion of these claims. The accrual is adjusted quarterly based upon reported claims information. The actual cost could deviate from the recorded estimate.&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;We generally retain up to $175,000 of risk on each medical claim for our employees and their dependents with the exception of less than 0.05% of employees where a higher risk is retained. We accrue for the estimated outstanding balance of unpaid medical claims for our employees and their dependents. The accrual is adjusted monthly based on recent claims experience. The actual claims could deviate from recent claims experience and be materially different from the reserve.&lt;/span&gt;&lt;/div&gt;</dxpe:SelfInsuredInsuranceAndMedicalClaimsPolicyTextBlock>
    <us-gaap:ReinsuranceRetentionPolicyAmountRetained
      contextRef="if65dab35dbe74dd9a82318b547b1b3eb_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTEzNDI_e4cbe9c5-c973-4a42-b9c6-45706375988c"
      unitRef="usd">100000</us-gaap:ReinsuranceRetentionPolicyAmountRetained>
    <us-gaap:ReinsuranceRetentionPolicyAmountRetained
      contextRef="i3c22f4dca54845e19343f1577d3442d0_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTE2ODA_fccdbfca-cd3d-4c31-a9b5-cf7c6e7dad4f"
      unitRef="usd">175000</us-gaap:ReinsuranceRetentionPolicyAmountRetained>
    <dxpe:RetentionPercentageOfEmployeeHigherRiskClaims
      contextRef="i3c22f4dca54845e19343f1577d3442d0_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTE3ODQ_51cf6d3b-979f-40ce-bcb6-40715fd88156"
      unitRef="number">0.0005</dxpe:RetentionPercentageOfEmployeeHigherRiskClaims>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTIxODI_ffc175f4-0cda-4ca2-92ae-3b5950ba339e"
      unitRef="usd">2800000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTIxODk_6bc29a82-be00-4654-9461-26696c705ceb"
      unitRef="usd">2600000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <dxpe:CostOfSalesAndSellingGeneralAndAdministrativeExpensesPolicyPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3NDc_338106ab-f372-486e-94d5-4607565c2ed9">&lt;div&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;Cost of Sales and Selling, General and Administrative Expense&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;Cost of sales includes product and product related costs, inbound freight charges, internal transfer costs and depreciation. Selling, general and administrative expense includes purchasing and receiving costs, inspection costs, warehousing costs, depreciation and amortization.&lt;/span&gt;&lt;/div&gt;</dxpe:CostOfSalesAndSellingGeneralAndAdministrativeExpensesPolicyPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MzY_bdc3ea52-1a84-4eaa-b826-60d2810698b4">&lt;div style="text-align:justify"&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;Income Taxes&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;The Company utilizes the asset and liability method of accounting for income taxes. Deferred income tax assets and liabilities are computed for differences between the financial statement and income tax bases of assets and liabilities. Such deferred income tax asset and liability computations are based on enacted tax laws and rates applicable to periods in which the differences are expected to reverse. Valuation allowances are established to reduce deferred income tax assets to the amounts expected to be realized under a more likely than not criterion.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:IncomeTaxUncertaintiesPolicy
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MTU_9fdf1b6f-4bd4-40e4-b7c6-34d4b62d05a5">&lt;div style="text-align:justify"&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;Accounting for Uncertainty in Income Taxes&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;A position taken or expected to be taken in a tax return is recognized in the financial statements when it is more likely than not (i.e. a likelihood of more than fifty percent) that the position would be sustained upon examination by tax authorities. A recognized tax position is then measured at the largest amount of benefit that is greater than fifty percent likely of being realized upon ultimate settlement. The Company and its subsidiaries file income tax returns in the U.S. federal jurisdiction and various states. With few exceptions, the Company is no longer subject to U.S. federal, state and local tax examination by tax authorities for years prior to 2018. The Company's policy is to recognize interest related to unrecognized tax benefits as interest expense and penalties as operating expenses. The Company believes that it has appropriate support for the income tax positions taken and to be taken on its tax returns and that its accruals for tax liabilities are adequate for all open years based on an assessment of many factors including past experience and interpretations of tax law applied to the facts of each matter.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxUncertaintiesPolicy>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83Ni9mcmFnOjc4ZWFkY2FjMGNiYzQ3MDViZTNjNzc4NTY2MjA1YzRjL3RleHRyZWdpb246NzhlYWRjYWMwY2JjNDcwNWJlM2M3Nzg1NjYyMDVjNGNfMTQ3MjI_8c6878b0-afe7-48c4-a50b-467ae9e72428">Comprehensive Income (Loss)Comprehensive income (loss) includes net income and foreign currency translation adjustments. The Company&#x2019;s other comprehensive (loss) income is from translating foreign subsidiaries to the reporting currency.</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83OS9mcmFnOmIyY2ZlODYyMDE0ZjQwYWJiZTIwYjY5NjI3YmJlNmE2L3RleHRyZWdpb246YjJjZmU4NjIwMTRmNDBhYmJlMjBiNjk2MjdiYmU2YTZfOTQ2_c5429f93-d60f-49b8-8dc0-df0dcd3aba12">RECENT ACCOUNTING PRONOUNCEMENTS&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Accounting Pronouncements Not Yet Adopted&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;In March 2020, the FASB issued ASU 2020-04, &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;Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting&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;. This update provides optional expedients and exceptions for applying generally accepted accounting principles to certain contract modifications and hedging relationships that reference London Inter-Bank Offered Rate (LIBOR) or another reference rate expected to be discontinued. The guidance is effective upon issuance and generally can be applied through December 31, 2022. The Company is currently evaluating the potential impact of this ASU on the financial statements.&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:107%"&gt;In October 2021, the FASB issued Accounting Standards Update (ASU) 2021-08, &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:107%"&gt;Business Combinations (Topic 805) - Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;, to address diversity in practice on how an acquirer should recognize and measure revenue contracts acquired in a business combination.  ASU 2021-08 will require an acquirer to recognize and measure contract assets acquired and contract liabilities assumed in a business combination in accordance with FASB Accounting Standards Codification (ASC) 606, &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:107%"&gt;Revenue from Contracts with Customers&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;. &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:107%"&gt;For the Company, ASU 2021-08 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The ASU should be applied prospectively to business combinations occurring on or after the effective date. Early adoption of ASU 2021-08 is permitted, including in an interim period. The Company expects the new Standard to have an impact for future acquisitions.  From time to time the Company does acquire businesses that perform project-based work and therefore include Contract Assets and Liabilities.&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;All other new accounting pronouncements that have been issued but not yet effective are currently being evaluated and at this time are not expected to have a material impact on our financial position or results of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl83OS9mcmFnOmIyY2ZlODYyMDE0ZjQwYWJiZTIwYjY5NjI3YmJlNmE2L3RleHRyZWdpb246YjJjZmU4NjIwMTRmNDBhYmJlMjBiNjk2MjdiYmU2YTZfOTQ3_c607a8be-cd52-484d-bccc-c78491644183">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Accounting Pronouncements Not Yet Adopted&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;In March 2020, the FASB issued ASU 2020-04, &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;Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting&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;. This update provides optional expedients and exceptions for applying generally accepted accounting principles to certain contract modifications and hedging relationships that reference London Inter-Bank Offered Rate (LIBOR) or another reference rate expected to be discontinued. The guidance is effective upon issuance and generally can be applied through December 31, 2022. The Company is currently evaluating the potential impact of this ASU on the financial statements.&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:107%"&gt;In October 2021, the FASB issued Accounting Standards Update (ASU) 2021-08, &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:107%"&gt;Business Combinations (Topic 805) - Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;, to address diversity in practice on how an acquirer should recognize and measure revenue contracts acquired in a business combination.  ASU 2021-08 will require an acquirer to recognize and measure contract assets acquired and contract liabilities assumed in a business combination in accordance with FASB Accounting Standards Codification (ASC) 606, &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:107%"&gt;Revenue from Contracts with Customers&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;. &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:107%"&gt;For the Company, ASU 2021-08 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The ASU should be applied prospectively to business combinations occurring on or after the effective date. Early adoption of ASU 2021-08 is permitted, including in an interim period. The Company expects the new Standard to have an impact for future acquisitions.  From time to time the Company does acquire businesses that perform project-based work and therefore include Contract Assets and Liabilities.&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;All other new accounting pronouncements that have been issued but not yet effective are currently being evaluated and at this time are not expected to have a material impact on our financial position or results of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMTk5Mg_9bbaa94e-f572-476c-ba03-52be59e5c4a8">LEASES&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;We lease office space, warehouses, land, automobiles, and office and manufacturing equipment. All of our leases are classified as operating leases. Our leases have remaining lease terms of 1 month to 9 years, some of which include options to extend the leases for up to 14 years. The exercise of lease renewal options is at our sole discretion. Our lease agreements do not include options to purchase the leased property. &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;The Company adopted the provisions of ASC 842, "Leases" effective January 1, 2019. We elected to apply the current period transition approach as introduced by ASU 2018-11 for our transition at January 1, 2019 and we elected to apply the following practical expedients and accounting policy decisions. In January 2019, we recorded a ROU Asset and total lease liability obligations of $72.7 million and $72.4 million, respectively. The new standard did not have a material impact on our consolidated statements of operations and had no impact on cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMTk5Mw_98db4f29-f996-40bd-af24-175759e305a5">LEASES&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;We lease office space, warehouses, land, automobiles, and office and manufacturing equipment. All of our leases are classified as operating leases. Our leases have remaining lease terms of 1 month to 9 years, some of which include options to extend the leases for up to 14 years. The exercise of lease renewal options is at our sole discretion. Our lease agreements do not include options to purchase the leased property. &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;The Company adopted the provisions of ASC 842, "Leases" effective January 1, 2019. We elected to apply the current period transition approach as introduced by ASU 2018-11 for our transition at January 1, 2019 and we elected to apply the following practical expedients and accounting policy decisions. In January 2019, we recorded a ROU Asset and total lease liability obligations of $72.7 million and $72.4 million, respectively. The new standard did not have a material impact on our consolidated statements of operations and had no impact on cash flows.&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:6pt;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 lease expenses were as follows &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;(in thousands)&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;: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.011%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.962%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.318%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.989%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.488%"/&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2021&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Lease cost&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Classification&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;Short-term lease expense&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;SG&amp;amp;A expenses&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;/div&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;244&#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;374&#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:center;vertical-align: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 operating lease cost&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;SG&amp;amp;A expenses&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,921&#160;&lt;/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;22,983&#160;&lt;/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;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:10pt;font-weight:400;line-height:100%"&gt;Total operating lease cost&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:0 1pt"/&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,165&#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,357&#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="21" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Manufacturing equipment and some vehicle rental expenses are included in the cost of sales.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&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="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows&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; (in thousands)&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;:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.713%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.658%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.580%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.272%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.580%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.210%"/&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2021&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Lease&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;&#160;&#160;&#160;Operating cash flows from operating leases&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;20,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;18,250&#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;Right-of-use assets obtained in exchange for lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;&#160;&#160;&#160;Operating leases&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;24,735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;5,639&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to leases was as follows&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; (in thousand)&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;: &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.380%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.146%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.601%"/&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:10pt;font-weight:700;line-height:100%"&gt;Lease&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Classification&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:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&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:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;&#160;Operating&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use 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;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;57,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;55,188&#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 style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/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:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="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;/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;&#160;&#160;&#160;Current operating&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,203&#160;&lt;/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,891&#160;&lt;/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;&#160;&#160;&#160;Non-current operating&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:left;vertical-align:bottom"&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 operating lease liabilities&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;39,922&#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;38,010&#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:700;line-height:100%"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;58,125&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;53,901&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/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;Note: As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date in determining the present value of lease payments for lease commenced on or after January 1, 2019. We used our incremental borrowing rate as of the transition date of January 1, 2019 for operating leases that commenced prior to transition. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&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;Maturities of lease liabilities were as follows &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;(in thousands)&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;:&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:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:46.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.090%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.387%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.123%"/&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:10pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating leases &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;/div&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;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;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;21,189&#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="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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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:#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;10,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&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;4,491&#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="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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,515&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 lease payments&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:700;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:700;line-height:100%"&gt;66,844&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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="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;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&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:700;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:700;line-height:100%"&gt;58,125&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*) &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; Operating lease payments exclude $0.5 million and  $2.8 millions of legally binding minimum lease payments for leases signed but not yet commenced, as of December&#160;31, 2021 and December&#160;31, 2020, respectively.&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:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.871%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.721%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.867%"/&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:10pt;font-weight:700;line-height:100%"&gt;Lease term and discount rate&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:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2021&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:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (years)&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;Operating lease&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4.53&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4.29&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;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;Operating lease&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;6.5%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7.2%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&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 twelve months ended December 31, 2021, the Company paid approximately $2.3 million in lease expenses to entities controlled by the Company's Chief Executive Officer, David Little and family.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="i85a727c921f74d89b6bde32ed28e19d8_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMjEx_78cdf05b-ff9c-4ded-a8db-739ebafd1658">P1M</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="ie18c040920724049ae617801d22e3fb5_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMjE3_8edbbdc9-41e5-4dfe-a193-61f0caca6d44">P9Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMjgy_17a313c9-3a77-4e2f-91be-0a3a4855cf1e">P14Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ibefde919e453406283cf1255a1ef0207_I20190101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfODEz_449bfdaa-0fff-435e-9982-17ad7a6d1169"
      unitRef="usd">72700000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="ibefde919e453406283cf1255a1ef0207_I20190101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfODIw_cb43ee4c-e407-4dd3-9991-1784c067ee99"
      unitRef="usd">72400000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMTk5NA_e06dcb27-e36a-4e9e-971f-93fbc4ede057">&lt;div style="margin-bottom:6pt;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 lease expenses were as follows &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;(in thousands)&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;: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.011%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.962%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.318%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.989%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.488%"/&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2021&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Lease cost&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Classification&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;Short-term lease expense&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;SG&amp;amp;A expenses&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;/div&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;244&#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;374&#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:center;vertical-align: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 operating lease cost&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;SG&amp;amp;A expenses&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,921&#160;&lt;/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;22,983&#160;&lt;/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;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:10pt;font-weight:400;line-height:100%"&gt;Total operating lease cost&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:0 1pt"/&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,165&#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,357&#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="21" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Manufacturing equipment and some vehicle rental expenses are included in the cost of sales.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&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="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows&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; (in thousands)&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;:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.713%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.658%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.580%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.272%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.580%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.210%"/&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2021&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Lease&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;&#160;&#160;&#160;Operating cash flows from operating leases&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;20,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;18,250&#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;Right-of-use assets obtained in exchange for lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;&#160;&#160;&#160;Operating leases&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;24,735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;5,639&#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;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.871%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.721%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.867%"/&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:10pt;font-weight:700;line-height:100%"&gt;Lease term and discount rate&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:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2021&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:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (years)&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;Operating lease&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4.53&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;4.29&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;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;Operating lease&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;6.5%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7.2%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:ShortTermLeaseCost
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjBlMTg2N2Y3OGNiZTQwNGM4NmM3MjlmZWFjMmQ1NWZlL3RhYmxlcmFuZ2U6MGUxODY3Zjc4Y2JlNDA0Yzg2YzcyOWZlYWMyZDU1ZmVfMi00LTEtMS0yNjc0Mw_dd55d7f8-bb75-406e-bcf1-c84fc52be6e9"
      unitRef="usd">244000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjBlMTg2N2Y3OGNiZTQwNGM4NmM3MjlmZWFjMmQ1NWZlL3RhYmxlcmFuZ2U6MGUxODY3Zjc4Y2JlNDA0Yzg2YzcyOWZlYWMyZDU1ZmVfMi02LTEtMS0yNjc0Mw_04ed9332-71d8-4569-a82e-d205ad3d7601"
      unitRef="usd">374000</us-gaap:ShortTermLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjBlMTg2N2Y3OGNiZTQwNGM4NmM3MjlmZWFjMmQ1NWZlL3RhYmxlcmFuZ2U6MGUxODY3Zjc4Y2JlNDA0Yzg2YzcyOWZlYWMyZDU1ZmVfMy00LTEtMS0yNjc0Mw_9032173b-060a-4f93-80a3-3ecbac6a7a91"
      unitRef="usd">23921000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjBlMTg2N2Y3OGNiZTQwNGM4NmM3MjlmZWFjMmQ1NWZlL3RhYmxlcmFuZ2U6MGUxODY3Zjc4Y2JlNDA0Yzg2YzcyOWZlYWMyZDU1ZmVfMy02LTEtMS0yNjc0Mw_6c23c6c3-6854-419e-995b-03d85d2d3b3e"
      unitRef="usd">22983000</us-gaap:OperatingLeaseCost>
    <us-gaap:LeaseCost
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjBlMTg2N2Y3OGNiZTQwNGM4NmM3MjlmZWFjMmQ1NWZlL3RhYmxlcmFuZ2U6MGUxODY3Zjc4Y2JlNDA0Yzg2YzcyOWZlYWMyZDU1ZmVfNC00LTEtMS0yNjc0Mw_054a8c9d-f89a-4f20-83cf-842de86cccf0"
      unitRef="usd">24165000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjBlMTg2N2Y3OGNiZTQwNGM4NmM3MjlmZWFjMmQ1NWZlL3RhYmxlcmFuZ2U6MGUxODY3Zjc4Y2JlNDA0Yzg2YzcyOWZlYWMyZDU1ZmVfNC02LTEtMS0yNjc0Mw_efcd2712-a172-40d3-86f9-2c331f57aa33"
      unitRef="usd">23357000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmUxMmQzMzA0NmI3ZTQ0Y2U4MzAyNDU0MzE3NTk1ZGRjL3RhYmxlcmFuZ2U6ZTEyZDMzMDQ2YjdlNDRjZTgzMDI0NTQzMTc1OTVkZGNfMy0yLTEtMS0yNjc0Mw_67c91ca0-ebbb-4e20-a04a-a657537d5a62"
      unitRef="usd">20142000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmUxMmQzMzA0NmI3ZTQ0Y2U4MzAyNDU0MzE3NTk1ZGRjL3RhYmxlcmFuZ2U6ZTEyZDMzMDQ2YjdlNDRjZTgzMDI0NTQzMTc1OTVkZGNfMy00LTEtMS0yNjc0Mw_d7d93558-72c5-47a7-9165-b779f85192c8"
      unitRef="usd">18250000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmUxMmQzMzA0NmI3ZTQ0Y2U4MzAyNDU0MzE3NTk1ZGRjL3RhYmxlcmFuZ2U6ZTEyZDMzMDQ2YjdlNDRjZTgzMDI0NTQzMTc1OTVkZGNfNS0yLTEtMS0yNjc0Mw_2505164e-f999-43e2-b6f5-d36b1f76fd0e"
      unitRef="usd">24735000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmUxMmQzMzA0NmI3ZTQ0Y2U4MzAyNDU0MzE3NTk1ZGRjL3RhYmxlcmFuZ2U6ZTEyZDMzMDQ2YjdlNDRjZTgzMDI0NTQzMTc1OTVkZGNfNS00LTEtMS0yNjc0Mw_ae5f45ec-c825-4514-9f4c-33521b01da90"
      unitRef="usd">5639000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <dxpe:AssetsAndLiabilitiesLesseeTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMTk4OA_a8cb195c-1a3e-42ac-933a-bfb4d3eb3a83">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to leases was as follows&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; (in thousand)&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;: &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.380%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.146%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.601%"/&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:10pt;font-weight:700;line-height:100%"&gt;Lease&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Classification&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:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&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:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/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;&#160;&#160;&#160;Operating&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use 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;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;57,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;55,188&#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 style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/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:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="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;/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;&#160;&#160;&#160;Current operating&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,203&#160;&lt;/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,891&#160;&lt;/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;&#160;&#160;&#160;Non-current operating&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:left;vertical-align:bottom"&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 operating lease liabilities&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;39,922&#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;38,010&#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:700;line-height:100%"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;58,125&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;53,901&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</dxpe:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfMi00LTEtMS0yNjc0Mw_e9994f74-15d3-4dd2-9ec1-49803528d4d3"
      unitRef="usd">57221000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfMi02LTEtMS0yNjc0Mw_a51961fd-9f4b-488c-813b-b01ffbd71094"
      unitRef="usd">55188000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfNS00LTEtMS0yNjc0Mw_6ae663ad-e85e-413b-bfd4-1f72a1dab41a"
      unitRef="usd">18203000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfNS02LTEtMS0yNjc0Mw_50069e93-c924-44d3-98fa-f5b4456132fe"
      unitRef="usd">15891000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfNi00LTEtMS0yNjc0Mw_c7dd88d9-bde4-4caf-a336-2e464bb2c624"
      unitRef="usd">39922000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfNi02LTEtMS0yNjc0Mw_85039cfd-fd4b-46aa-afdb-0b6d4c7952af"
      unitRef="usd">38010000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfNy00LTEtMS0yNjc0Mw_567686d6-1e66-46a8-949a-df3f94131df7"
      unitRef="usd">58125000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJkMmVlZTRlNDYzZjQ4ZDBhZDgyYjJmMzUwZjM1NjgwL3RhYmxlcmFuZ2U6YmQyZWVlNGU0NjNmNDhkMGFkODJiMmYzNTBmMzU2ODBfNy02LTEtMS0yNjc0Mw_cc7b3639-b265-4d10-bf89-58ce6eff101c"
      unitRef="usd">53901000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMTk4OQ_37ba4d1b-2070-45ed-bd17-e7bc160c4995">&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;Maturities of lease liabilities were as follows &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;(in thousands)&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;:&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:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:46.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.090%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.387%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.123%"/&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:10pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating leases &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*)&lt;/span&gt;&lt;/div&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;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;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;21,189&#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="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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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:#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;10,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&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;4,491&#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="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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,515&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 lease payments&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:700;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:700;line-height:100%"&gt;66,844&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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="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;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&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:700;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:700;line-height:100%"&gt;58,125&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(*) &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; Operating lease payments exclude $0.5 million and  $2.8 millions of legally binding minimum lease payments for leases signed but not yet commenced, as of December&#160;31, 2021 and December&#160;31, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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 leases equipment, automobiles and office facilities under various operating leases. The future minimum rental commitments as of December&#160;31, 2021, for non-cancelable leases are as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.178%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;21,189&#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="padding:2px 1pt;text-align:justify;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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,491&#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="padding:2px 1pt;text-align:justify;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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,515&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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 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;66,844&#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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfMS0yLTEtMS0yNjc0Mw_cb789cbd-1158-44ae-bd6f-abcd288d50d1"
      unitRef="usd">21189000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfMi0yLTEtMS0yNjc0Mw_e11c07e5-39e4-4f05-a9a4-95ef96bd6b4a"
      unitRef="usd">15325000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfMy0yLTEtMS0yNjc0Mw_99843e0e-33b8-4395-ba75-6704c5d8775a"
      unitRef="usd">10172000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfNC0yLTEtMS0yNjc0Mw_111e0a80-4030-42a4-9085-ff105a76b65e"
      unitRef="usd">7152000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfNS0yLTEtMS0yNjc0Mw_84b8c3d3-eb24-4382-ba7c-532ef08789bf"
      unitRef="usd">4491000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfNi0yLTEtMS0yNjc0Mw_e01fd2d7-9225-4306-864f-c13224c9fc7c"
      unitRef="usd">8515000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfNy0yLTEtMS0yNjc0Mw_0a30ebe7-ad35-4343-a63e-fae9a15874f5"
      unitRef="usd">66844000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfOC0yLTEtMS0yNjc0Mw_6dd19121-12cc-4a6c-8cc5-cd9b11835d53"
      unitRef="usd">8719000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOmJmN2I4YjczZTlhZDQxNDZiNTA2OWJjMWFkNGQxNmYzL3RhYmxlcmFuZ2U6YmY3YjhiNzNlOWFkNDE0NmI1MDY5YmMxYWQ0ZDE2ZjNfOS0yLTEtMS0yNjc0Mw_83c24380-9c3c-4afe-848f-ae9825336f69"
      unitRef="usd">58125000</us-gaap:OperatingLeaseLiability>
    <dxpe:LesseeOperatingLeaseLeaseNotYetCommencedAmount
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMzI5ODUzNDg4NTQwMQ_14bbf5eb-aec1-42f3-aa60-82f3efa3eb7a"
      unitRef="usd">500000</dxpe:LesseeOperatingLeaseLeaseNotYetCommencedAmount>
    <dxpe:LesseeOperatingLeaseLeaseNotYetCommencedAmount
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMzI5ODUzNDg4NTM3Nw_cdcedc4d-bc5f-42a0-a6d5-e4e7145dee93"
      unitRef="usd">2800000</dxpe:LesseeOperatingLeaseLeaseNotYetCommencedAmount>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjYyNWEyYjdhZjY2ODQyZWM5ZDQ3MzRmNTJiMDZjNjBkL3RhYmxlcmFuZ2U6NjI1YTJiN2FmNjY4NDJlYzlkNDczNGY1MmIwNmM2MGRfMi0yLTEtMS0yNjc0Mw_74d60795-a754-47b7-ae2e-8af666e40175">P4Y6M10D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjYyNWEyYjdhZjY2ODQyZWM5ZDQ3MzRmNTJiMDZjNjBkL3RhYmxlcmFuZ2U6NjI1YTJiN2FmNjY4NDJlYzlkNDczNGY1MmIwNmM2MGRfMi00LTEtMS0yNjc0Mw_c17d8156-a307-4b7f-9653-feef7df5b9c7">P4Y3M14D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjYyNWEyYjdhZjY2ODQyZWM5ZDQ3MzRmNTJiMDZjNjBkL3RhYmxlcmFuZ2U6NjI1YTJiN2FmNjY4NDJlYzlkNDczNGY1MmIwNmM2MGRfNC0yLTEtMS0yNjc0Mw_fdeb4ace-52d1-4d73-aaa8-8c8094310c5a"
      unitRef="number">0.065</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RhYmxlOjYyNWEyYjdhZjY2ODQyZWM5ZDQ3MzRmNTJiMDZjNjBkL3RhYmxlcmFuZ2U6NjI1YTJiN2FmNjY4NDJlYzlkNDczNGY1MmIwNmM2MGRfNC00LTEtMS0yNjc0Mw_fa88f1de-33c2-4635-82d5-8fb225fcbde2"
      unitRef="number">0.072</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseExpense
      contextRef="ibf6d781d4dce4efa8db43f22ca6d194a_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl84OC9mcmFnOjgwMTdkZDhkNzQ5NDRjMzI4YWMxNTNkNmM1NzJiMmUxL3RleHRyZWdpb246ODAxN2RkOGQ3NDk0NGMzMjhhYzE1M2Q2YzU3MmIyZTFfMTg3OA_8ee53a88-21fa-4ffc-935e-9e20863c32c2"
      unitRef="usd">2300000</us-gaap:OperatingLeaseExpense>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RleHRyZWdpb246ZjNkNTE1YzcwOTY5NDljM2E4NmRlNTg3MTM1YjAwNDdfNDczOQ_0f09fe9b-bb88-4a14-b7de-0ae55dabdce6">FAIR VALUE OF FINANCIAL ASSETS AND LIABILITIESAuthoritative guidance for financial assets and liabilities measured on a recurring basis applies to all financial assets and financial liabilities that are being measured and reported on a fair value basis. Fair value, as defined in the authoritative guidance, is 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 authoritative guidance affects the fair value measurement of an investment with quoted market prices in an active market for identical instruments, which must be classified in one of the following categories:&lt;div style="text-align:justify"&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;Level 1 Inputs&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 1 inputs come from quoted prices (unadjusted) in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 2 Inputs&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 2 inputs are other than quoted prices that are observable for an asset or liability. These inputs include: quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar assets or liabilities in markets that are not active; inputs other than quoted prices that are observable for the asset or liability; and inputs that are derived principally from, or corroborated by, observable market data by correlation or other means.&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&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;Level 3 Inputs&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 3 inputs are unobservable inputs for the asset or liability which require the Company's own assumptions. Financial assets and liabilities are classified based on the lowest level of input that is significant to the fair value measurement. Our assessment of the significance of a particular input to the fair value measurement requires judgment and may affect the valuation of the fair value of assets and liabilities and their placement within the fair value hierarchy levels.&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;Our acquisitions may include contingent consideration as part of the purchase price. The fair value of the contingent consideration is estimated as of the acquisition date based on the present value of the contingent payments to be made using a weighted probability of possible payments. The unobservable inputs used in the determination of the fair value of the contingent consideration include managements assumptions about the likelihood of payment based on the established benchmarks and discount rates based on an internal rate of return analysis. The fair value measurement includes inputs that are Level 3 inputs as discussed above, as they are not observable in the market. Should actual results increase or decrease as compared to the assumptions used in our analysis, the fair value of the contingent consideration obligations will increase or decrease, up to the contracted limit, as applicable. Changes in the fair value of the contingent earn-out consideration are measured each reporting period and reflected in our results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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 December&#160;31, 2021, we recorded a $0.9 million liability for contingent consideration associated with the acquisition of PMI in other current and long-term liabilities. See further discussion at &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_127" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 17 - Business Acquisitions&lt;/a&gt;&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;. For the Company's assets and liabilities measured at fair value on a recurring basis using significant unobservable inputs (Level 3), the following table provides a reconciliation of the beginning and ending balances for each category therein, and gains or losses recognized during the&#160;twelve months&#160;ended&#160;December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.953%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.847%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" 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:10pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements Using Significant Unobservable Inputs (Level 3)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:700;line-height:100%"&gt;Contingent Liability for Accrued Consideration&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions and settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Acquisitions (&lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_127" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Note 17&lt;/a&gt;&lt;/span&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;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,000)&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="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 remeasurement adjustments:&lt;/span&gt;&lt;/td&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;&#160;&#160;&#160;&#160;&#160;Changes in fair value recorded in other (income) expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;504&#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="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;Ending balance at Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:2pt 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="border-top:2pt 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;905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&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:10pt;font-weight:400;line-height:100%"&gt;The amount of total (gains) or losses for the year included in earnings or changes to net assets, attributable to changes in unrealized (gains) or losses relating to assets or liabilities still held at year-end.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;text-indent:36pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;* Included in other current and long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;&#160;&lt;/span&gt;&lt;/td&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-style:italic;font-weight:400;line-height:120%"&gt;Quantitative Information about Level 3 Fair Value Measurements&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:6pt;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 significant unobservable inputs used in the fair value measurement of the Company's contingent consideration liabilities designated as Level 3 are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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:22.145%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.250%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:39.253%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;(in&#160;thousands, unaudited)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair Value at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Valuation&#160;Technique&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant Unobservable Inputs&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration: (PMI acquisition)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Discounted&#160;cash&#160;flow&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Annualized EBITDA and probability of achievement&lt;/span&gt;&lt;/td&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-style:italic;font-weight:400;line-height:120%"&gt;Sensitivity to Changes in Significant Unobservable Inputs&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 presented in the table above, the significant unobservable inputs used in the fair value measurement of contingent consideration related to the acquisition of PMI are annualized EBITDA forecasts developed by the Company's management and the probability of achievement of those EBITDA results. The discount rate used in the calculation was&#160;7.6%. Significant increases (decreases) in these unobservable inputs in isolation would result in a significantly (lower) higher fair value measurement.&lt;/span&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;Other financial instruments not measured at fair value on the Company's consolidated balance sheets at December&#160;31, 2021 but which require disclosure of their fair values include: cash, trade accounts receivable, trade accounts payable and accrued expenses, accrued payroll and related benefits, and the revolving line of credit and term loan debt under our syndicated credit agreement facility (&lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_106" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 10&lt;/a&gt;&lt;/span&gt;). The Company believes that the estimated fair value of such instruments at December&#160;31, 2021 and December&#160;31, 2020 approximates their carrying value as reported on the consolidated balance sheets.</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RleHRyZWdpb246ZjNkNTE1YzcwOTY5NDljM2E4NmRlNTg3MTM1YjAwNDdfNDc0MA_7dc467c6-b38a-4436-93c0-ff1058bd43a7">FAIR VALUE OF FINANCIAL ASSETS AND LIABILITIESAuthoritative guidance for financial assets and liabilities measured on a recurring basis applies to all financial assets and financial liabilities that are being measured and reported on a fair value basis. Fair value, as defined in the authoritative guidance, is 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 authoritative guidance affects the fair value measurement of an investment with quoted market prices in an active market for identical instruments, which must be classified in one of the following categories:&lt;div style="text-align:justify"&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;Level 1 Inputs&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 1 inputs come from quoted prices (unadjusted) in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 2 Inputs&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 2 inputs are other than quoted prices that are observable for an asset or liability. These inputs include: quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar assets or liabilities in markets that are not active; inputs other than quoted prices that are observable for the asset or liability; and inputs that are derived principally from, or corroborated by, observable market data by correlation or other means.&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&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;Level 3 Inputs&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 3 inputs are unobservable inputs for the asset or liability which require the Company's own assumptions. Financial assets and liabilities are classified based on the lowest level of input that is significant to the fair value measurement. Our assessment of the significance of a particular input to the fair value measurement requires judgment and may affect the valuation of the fair value of assets and liabilities and their placement within the fair value hierarchy levels.&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;Our acquisitions may include contingent consideration as part of the purchase price. The fair value of the contingent consideration is estimated as of the acquisition date based on the present value of the contingent payments to be made using a weighted probability of possible payments. The unobservable inputs used in the determination of the fair value of the contingent consideration include managements assumptions about the likelihood of payment based on the established benchmarks and discount rates based on an internal rate of return analysis. The fair value measurement includes inputs that are Level 3 inputs as discussed above, as they are not observable in the market. Should actual results increase or decrease as compared to the assumptions used in our analysis, the fair value of the contingent consideration obligations will increase or decrease, up to the contracted limit, as applicable. Changes in the fair value of the contingent earn-out consideration are measured each reporting period and reflected in our results of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i17f973e504414c51a84620e90f1b4c92_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RleHRyZWdpb246ZjNkNTE1YzcwOTY5NDljM2E4NmRlNTg3MTM1YjAwNDdfMjg5NQ_8fc98ccf-4973-4353-b7fc-86d572225808"
      unitRef="usd">900000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RleHRyZWdpb246ZjNkNTE1YzcwOTY5NDljM2E4NmRlNTg3MTM1YjAwNDdfNDczNw_c9019f4f-e6ad-45a5-baf1-54589a6549f2">For the Company's assets and liabilities measured at fair value on a recurring basis using significant unobservable inputs (Level 3), the following table provides a reconciliation of the beginning and ending balances for each category therein, and gains or losses recognized during the&#160;twelve months&#160;ended&#160;December&#160;31, 2021:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.953%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.847%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" 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:10pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements Using Significant Unobservable Inputs (Level 3)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:700;line-height:100%"&gt;Contingent Liability for Accrued Consideration&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions and settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Acquisitions (&lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_127" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Note 17&lt;/a&gt;&lt;/span&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;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,000)&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="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 remeasurement adjustments:&lt;/span&gt;&lt;/td&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;&#160;&#160;&#160;&#160;&#160;Changes in fair value recorded in other (income) expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;504&#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="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;Ending balance at Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:2pt 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="border-top:2pt 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;905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&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:10pt;font-weight:400;line-height:100%"&gt;The amount of total (gains) or losses for the year included in earnings or changes to net assets, attributable to changes in unrealized (gains) or losses relating to assets or liabilities still held at year-end.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;text-indent:36pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;* Included in other current and long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="ifb72feb898b1453a94d0f79f45aef4c8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RhYmxlOjk5MjViMmI2MTJkMzQyOGJhYTliNDJkZGEyZDgwZTk0L3RhYmxlcmFuZ2U6OTkyNWIyYjYxMmQzNDI4YmFhOWI0MmRkYTJkODBlOTRfMy0xLTEtMS0yNjc0Mw_dfc110ca-742a-4e26-9bff-68cfb5c4a66b"
      unitRef="usd">1100000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
      contextRef="i6e6691877add4f9781c3d11c3da743d4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RhYmxlOjk5MjViMmI2MTJkMzQyOGJhYTliNDJkZGEyZDgwZTk0L3RhYmxlcmFuZ2U6OTkyNWIyYjYxMmQzNDI4YmFhOWI0MmRkYTJkODBlOTRfNS0xLTEtMS0yNjc0Mw_4db6ce51-4229-47d8-b3c6-233bf567448d"
      unitRef="usd">301000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="i6e6691877add4f9781c3d11c3da743d4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RhYmxlOjk5MjViMmI2MTJkMzQyOGJhYTliNDJkZGEyZDgwZTk0L3RhYmxlcmFuZ2U6OTkyNWIyYjYxMmQzNDI4YmFhOWI0MmRkYTJkODBlOTRfNi0xLTEtMS0yNjc0Mw_deb824a9-2258-4a24-bc78-c4736e9d8efa"
      unitRef="usd">1000000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="i6e6691877add4f9781c3d11c3da743d4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RhYmxlOjk5MjViMmI2MTJkMzQyOGJhYTliNDJkZGEyZDgwZTk0L3RhYmxlcmFuZ2U6OTkyNWIyYjYxMmQzNDI4YmFhOWI0MmRkYTJkODBlOTRfOC0xLTEtMS0yNjc0Mw_c8be78ed-bb93-4a8a-ad9b-45aacd093759"
      unitRef="usd">-504000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i703b158a18d343638bfa4d1d37ac310a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RhYmxlOjk5MjViMmI2MTJkMzQyOGJhYTliNDJkZGEyZDgwZTk0L3RhYmxlcmFuZ2U6OTkyNWIyYjYxMmQzNDI4YmFhOWI0MmRkYTJkODBlOTRfOS0xLTEtMS0yNjc0Mw_d3bd7119-8301-445b-92f4-4734b9f5e6ab"
      unitRef="usd">905000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="i6e6691877add4f9781c3d11c3da743d4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RhYmxlOjk5MjViMmI2MTJkMzQyOGJhYTliNDJkZGEyZDgwZTk0L3RhYmxlcmFuZ2U6OTkyNWIyYjYxMmQzNDI4YmFhOWI0MmRkYTJkODBlOTRfMTEtMS0xLTEtMjY3NDM_76cc09e5-8b36-4345-805e-993d7324e044"
      unitRef="usd">-504000</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RleHRyZWdpb246ZjNkNTE1YzcwOTY5NDljM2E4NmRlNTg3MTM1YjAwNDdfNDczOA_9bbde9a9-e4bb-42eb-9731-e8899422a00d">&lt;div style="margin-bottom:6pt;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 significant unobservable inputs used in the fair value measurement of the Company's contingent consideration liabilities designated as Level 3 are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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:22.145%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.250%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:39.253%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;(in&#160;thousands, unaudited)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair Value at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Valuation&#160;Technique&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant Unobservable Inputs&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration: (PMI acquisition)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Discounted&#160;cash&#160;flow&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Annualized EBITDA and probability of achievement&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="id569be2ccde24813a0b11d1d1086e1f5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RhYmxlOjUzMjdiYmU1YWMwNTQzNjg5MWY0MTRmMTM5YjMzYWE4L3RhYmxlcmFuZ2U6NTMyN2JiZTVhYzA1NDM2ODkxZjQxNGYxMzliMzNhYThfMS0xLTEtMS0yNjc0Mw_cc989504-cfaa-4b3e-aa99-aa7cfd3ed2e7"
      unitRef="usd">905000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="id569be2ccde24813a0b11d1d1086e1f5_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85MS9mcmFnOmYzZDUxNWM3MDk2OTQ5YzNhODZkZTU4NzEzNWIwMDQ3L3RleHRyZWdpb246ZjNkNTE1YzcwOTY5NDljM2E4NmRlNTg3MTM1YjAwNDdfNDAwOA_e05738ad-8ee6-4e83-8a4b-79e3662454eb"
      unitRef="number">0.076</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RleHRyZWdpb246NTdlZDE5NWY0MTVjNDUxZmE4YjYxMzEwZTk5ZjJlYThfMTA5_9705eddb-9ad4-454a-a349-74364b7dd65c">INVENTORIES&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying values of inventories were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;96,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;105,527&#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;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,565&#160;&lt;/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;17,021&#160;&lt;/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;Obsolescence reserve&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,452)&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,477)&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;Inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;100,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;97,071&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RleHRyZWdpb246NTdlZDE5NWY0MTVjNDUxZmE4YjYxMzEwZTk5ZjJlYThfMTEw_d75f9867-1643-4823-987e-e1969d6a069f">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying values of inventories were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;96,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;105,527&#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;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,565&#160;&lt;/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;17,021&#160;&lt;/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;Obsolescence reserve&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,452)&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,477)&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;Inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;100,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;97,071&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfMi0xLTEtMS0yNjc0Mw_0e9dd19c-b388-4d50-a176-3a302bc8b844"
      unitRef="usd">96781000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfMi0zLTEtMS0yNjc0Mw_877ad9b4-32d1-4bee-a543-d75448833f33"
      unitRef="usd">105527000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryWorkInProcess
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfMy0xLTEtMS0yNjc0Mw_2d948771-1664-4845-a66e-2ac2c0059a92"
      unitRef="usd">20565000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfMy0zLTEtMS0yNjc0Mw_4845294b-0758-4ee4-ba0e-d9d605f5d408"
      unitRef="usd">17021000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryValuationReserves
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfNC0xLTEtMS0yNjc0Mw_0dd448b7-6c73-48ab-9220-4d830fba871f"
      unitRef="usd">16452000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfNC0zLTEtMS0yNjc0Mw_89b707bb-a5bd-4026-a872-2c5a37df2726"
      unitRef="usd">25477000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfNS0xLTEtMS0yNjc0Mw_f261df68-3c91-4e43-80de-2cd7492eb6aa"
      unitRef="usd">100894000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85NC9mcmFnOjU3ZWQxOTVmNDE1YzQ1MWZhOGI2MTMxMGU5OWYyZWE4L3RhYmxlOmMyY2VlYjExYTBiZDQ3ZTNhOTRkODU2YWUyMTA1NTZmL3RhYmxlcmFuZ2U6YzJjZWViMTFhMGJkNDdlM2E5NGQ4NTZhZTIxMDU1NmZfNS0zLTEtMS0yNjc0Mw_6d74ff09-c4ce-44d5-8e26-77a2e5369c0b"
      unitRef="usd">97071000</us-gaap:InventoryNet>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RleHRyZWdpb246YTQ3NDA4N2FjMDA3NGI4M2JkMzc2ZTI4NmJkYTNiZGVfMTM4OQ_5c30e586-17ed-4e6c-9a03-9eb2154a3b9d">CONTRACT ASSETS AND LIABILITIES&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 our customized pump production contracts in our IPS segment, amounts are billed as work progresses in accordance with agreed-upon contractual terms, upon various measures of performance, including achievement of certain milestones, completion of specified units, or completion of a contract. Generally, billing occurs subsequent to revenue recognition, resulting in contract assets. Our contract assets are presented as &#x201c;Cost and estimated profits in excess of billings&#x201d; on our Consolidated Balance Sheets. However, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in contract liabilities that are presented as &#x201c;Billings in excess of costs and estimated profits&#x201d; on our 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="margin-bottom:6pt;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;Costs and estimated profits on uncompleted contracts and related amounts billed for 2021 and 2020 were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&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;Costs incurred on uncompleted contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;36,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Estimated profits, thereon&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 style="background-color:#cceeff;border-top:2pt 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:2pt 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;58,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;43,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Less: billings to date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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;Such amounts were included in the accompanying Consolidated Balance Sheets for 2021 and 2020 under the following captions (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&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;Costs and estimated profits in excess of billings &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;18,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Billings in excess of costs and estimated profits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,581)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,061)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Translation Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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;(33)&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="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&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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;During the&#160;twelve months ended December&#160;31, 2021,&#160;$4.0&#160;million&#160;of the balances that were previously classified as contract liabilities at the beginning of the period shipped. Contract assets and liability changes were primarily due to normal activity and timing differences between our performance and customer payments.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RleHRyZWdpb246YTQ3NDA4N2FjMDA3NGI4M2JkMzc2ZTI4NmJkYTNiZGVfMTM5MA_f3489994-1807-4395-ad0e-40f9d4593bef">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs and estimated profits on uncompleted contracts and related amounts billed for 2021 and 2020 were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&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;Costs incurred on uncompleted contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;36,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Estimated profits, thereon&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 style="background-color:#cceeff;border-top:2pt 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:2pt 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;58,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;43,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Less: billings to date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-bottom:6pt;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;Such amounts were included in the accompanying Consolidated Balance Sheets for 2021 and 2020 under the following captions (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&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;Costs and estimated profits in excess of billings &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;18,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Billings in excess of costs and estimated profits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,581)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,061)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Translation Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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;(33)&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="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&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfMi0xLTEtMS0yNjc0Mw_3a73b7dc-8365-4ce8-993e-ec2f8dcab50d"
      unitRef="usd">41329000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfMi0zLTEtMS0yNjc0Mw_c0ce03d5-46d1-4e40-8921-0efdd18d1d50"
      unitRef="usd">36969000</us-gaap:ContractWithCustomerAssetNet>
    <dxpe:EstimatedEarningsThereonOnUncompletedContracts
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfMy0xLTEtMS0yNjc0Mw_efcb0d84-5454-43de-a705-f6b6f2b80c48"
      unitRef="usd">17143000</dxpe:EstimatedEarningsThereonOnUncompletedContracts>
    <dxpe:EstimatedEarningsThereonOnUncompletedContracts
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfMy0zLTEtMS0yNjc0Mw_08ede803-0b56-471d-9aca-a2fdaa11338f"
      unitRef="usd">6711000</dxpe:EstimatedEarningsThereonOnUncompletedContracts>
    <dxpe:CostAndEarningsOfUncompletedContracts
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfNC0xLTEtMS0yNjc0Mw_01b1122f-ff72-43c0-9738-11f6b8e40ae0"
      unitRef="usd">58472000</dxpe:CostAndEarningsOfUncompletedContracts>
    <dxpe:CostAndEarningsOfUncompletedContracts
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfNC0zLTEtMS0yNjc0Mw_ad5bab61-6641-4d66-b46b-b49cc44300e6"
      unitRef="usd">43680000</dxpe:CostAndEarningsOfUncompletedContracts>
    <dxpe:CostsAndEstimatedEarningsBilledToDate
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfNS0xLTEtMS0yNjc0Mw_d91de410-dff5-4ecb-8869-f8aeab0870f1"
      unitRef="usd">44859000</dxpe:CostsAndEstimatedEarningsBilledToDate>
    <dxpe:CostsAndEstimatedEarningsBilledToDate
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfNS0zLTEtMS0yNjc0Mw_fcb6cfb9-cf70-4852-8d71-2db4d8d65504"
      unitRef="usd">29315000</dxpe:CostsAndEstimatedEarningsBilledToDate>
    <dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfNi0xLTEtMS0yNjc0Mw_61e89e60-5667-48d1-9886-02b6abfed9cc"
      unitRef="usd">13613000</dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment>
    <dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmM1ZWJkZWE5NDExNDRmNjg5NGIyMDZjMGE2ODQ1YjEwL3RhYmxlcmFuZ2U6YzVlYmRlYTk0MTE0NGY2ODk0YjIwNmMwYTY4NDViMTBfNi0zLTEtMS0yNjc0Mw_e990e8aa-b363-4447-bfa2-ddaa5f347249"
      unitRef="usd">14365000</dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfMi0xLTEtMS0yNjc0Mw_e3514470-9805-4b0c-8424-5875c5508180"
      unitRef="usd">17193000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfMi0zLTEtMS0yNjc0Mw_6244129e-9a7b-4df0-a22b-c657c2ea94d4"
      unitRef="usd">18459000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfMy0xLTEtMS0yNjc0Mw_fb51e599-2dc2-4c0e-94de-f7d1584c4ba5"
      unitRef="usd">3581000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfMy0zLTEtMS0yNjc0Mw_4e6d7022-ac68-4243-b1f9-2666739d182c"
      unitRef="usd">4061000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <dxpe:ContractWithCustomerLiabilityForeignCurrencyTranslationAdjustment
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfNC0xLTEtMS0yNjc0Mw_0f8ce61a-c0c2-416d-b432-51ff6763e76c"
      unitRef="usd">-1000</dxpe:ContractWithCustomerLiabilityForeignCurrencyTranslationAdjustment>
    <dxpe:ContractWithCustomerLiabilityForeignCurrencyTranslationAdjustment
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfNC0zLTEtMS0yNjc0Mw_d018be3e-af8a-4d8a-955a-0e73e3af4346"
      unitRef="usd">33000</dxpe:ContractWithCustomerLiabilityForeignCurrencyTranslationAdjustment>
    <dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfNS0xLTEtMS0yNjc0Mw_11af4be9-f748-494a-a07d-f2f14f3d86a8"
      unitRef="usd">13613000</dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment>
    <dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RhYmxlOmUyMTE1YmJkZTE0MTQ3NDdiMjRmYTAzMzMzNDViMTA3L3RhYmxlcmFuZ2U6ZTIxMTViYmRlMTQxNDc0N2IyNGZhMDMzMzM0NWIxMDdfNS0zLTEtMS0yNjc0Mw_26635903-f63b-4d4d-bf91-a14b609157ee"
      unitRef="usd">14365000</dxpe:ContractWithCustomerAssetNetCurrentExcludingContractWithCustomerLiabilityCurrentAndTranslationAdjustment>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl85Ny9mcmFnOmE0NzQwODdhYzAwNzRiODNiZDM3NmUyODZiZGEzYmRlL3RleHRyZWdpb246YTQ3NDA4N2FjMDA3NGI4M2JkMzc2ZTI4NmJkYTNiZGVfMTEyNQ_c154e6d1-badb-4d66-840f-d166e6f37f37"
      unitRef="usd">4000000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90ZXh0cmVnaW9uOmQ3YTBmZTQxZjU0ZjQ0MDk4YzAxNDAyY2RiZWE3Njk2XzMwNA_4e0f9d0a-789d-4e96-b01d-e6a66b5245d6">PROPERTY AND EQUIPMENT&lt;div style="margin-bottom:6pt;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 carrying values of property and equipment were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&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;Land&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Buildings and leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,267&#160;&lt;/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;22,952&#160;&lt;/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;Furniture, fixtures and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,020&#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;110,159&#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;Less &#x2013; Accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(92,430)&lt;/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;(78,770)&lt;/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 Property and Equipment&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;Depreciation expense was $9.9 million, $10.4 million, and $10.1 million for the years ended December&#160;31, 2021, 2020, and 2019, respectively. Capital expenditures by segment are included in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_139" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 2&lt;/a&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_139" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;1&lt;/a&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_139" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt; - Segment and Geographical Reporting&lt;/a&gt;&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;.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90ZXh0cmVnaW9uOmQ3YTBmZTQxZjU0ZjQ0MDk4YzAxNDAyY2RiZWE3Njk2XzMwNQ_8b8bc196-4cb3-4de2-8393-f0610f8da7ad">&lt;div style="margin-bottom:6pt;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 carrying values of property and equipment were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&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;Land&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Buildings and leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,267&#160;&lt;/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;22,952&#160;&lt;/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;Furniture, fixtures and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,020&#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;110,159&#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;Less &#x2013; Accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(92,430)&lt;/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;(78,770)&lt;/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 Property and Equipment&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i097b5923ed514347a82aa3f9899e2bea_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzEtMS0xLTEtMjY3NDM_de7e5e07-07f3-479b-a2e9-010fc3bcf4be"
      unitRef="usd">2023000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i49b8033d420e499487d680cc0e5a09f9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzEtMy0xLTEtMjY3NDM_91152089-c0e3-4600-b665-eadc1e3662b5"
      unitRef="usd">2558000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib8bbd4855abf4e2c8e530f7ee7857966_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzItMS0xLTEtMjY3NDM_1739cb15-bdf3-4433-b166-ebdf1b5299d0"
      unitRef="usd">28267000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i94cb3340df164f328d34c28336af2150_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzItMy0xLTEtMjY3NDM_1f3ac969-b9c5-438b-a039-c2d0afc0f012"
      unitRef="usd">22952000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i36818767f6f24617a123d5c56e67683e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzMtMS0xLTEtMjY3NDM_e158d077-6294-42b7-83b0-77a472c515a0"
      unitRef="usd">114020000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if507b9e4b0394ddcb455f1ef439c488b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzMtMy0xLTEtMjY3NDM_ff2d269c-0d30-44c2-ab0e-11f5b4492a40"
      unitRef="usd">110159000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzQtMS0xLTEtMjY3NDM_7b0269d9-a970-471c-9a24-1e78ff688bb9"
      unitRef="usd">92430000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzQtMy0xLTEtMjY3NDM_504ccd45-1b8e-469c-8037-5230eaad1c59"
      unitRef="usd">78770000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzUtMS0xLTEtMjY3NDM_c3002844-4703-427c-a3c4-0c808c339eea"
      unitRef="usd">51880000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90YWJsZTphZWFmZjI4MjkwY2Y0ODUzYjliZTVhMzY0Mzg3YjE1NC90YWJsZXJhbmdlOmFlYWZmMjgyOTBjZjQ4NTNiOWJlNWEzNjQzODdiMTU0XzUtMy0xLTEtMjY3NDM_ad7e6f86-f38b-4546-9bfa-96e3be5650fd"
      unitRef="usd">56899000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90ZXh0cmVnaW9uOmQ3YTBmZTQxZjU0ZjQ0MDk4YzAxNDAyY2RiZWE3Njk2XzE0NQ_4f24becd-8801-4be9-bd14-d495282018f0"
      unitRef="usd">9900000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90ZXh0cmVnaW9uOmQ3YTBmZTQxZjU0ZjQ0MDk4YzAxNDAyY2RiZWE3Njk2XzE0OQ_b9829644-b142-4964-a30d-f13490ccaa5f"
      unitRef="usd">10400000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDAvZnJhZzpkN2EwZmU0MWY1NGY0NDA5OGMwMTQwMmNkYmVhNzY5Ni90ZXh0cmVnaW9uOmQ3YTBmZTQxZjU0ZjQ0MDk4YzAxNDAyY2RiZWE3Njk2XzE1Nw_d30af1f8-8f2e-4895-9032-5ba211b16ffe"
      unitRef="usd">10100000</us-gaap:Depreciation>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzEzNDI_ae9b6458-6076-499f-998b-113e3ed65af1">GOODWILL AND OTHER INTANGIBLE ASSETS&lt;div style="margin-bottom:6pt"&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 the carrying amount of goodwill and other intangible assets during the year ended December&#160;31, 2021 (&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;in thousands&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;): &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Goodwill&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:10pt;font-weight:700;line-height:100%"&gt;Other&lt;br/&gt;Intangible&lt;br/&gt;Assets&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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balances as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;261,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;80,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;341,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;55&#160;&lt;/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;55&#160;&lt;/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;Acquisitions &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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,259&#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;62,998&#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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(17,197)&lt;/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;(17,197)&lt;/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;Balances as of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;308,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;387,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&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 the carrying amount of goodwill and other intangible assets during the year ended December&#160;31, 2020 (&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;in thousands&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;):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Goodwill&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:10pt;font-weight:700;line-height:100%"&gt;Other&lt;br/&gt;Intangible&lt;br/&gt;Assets&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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balances as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;194,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;52,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;246,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(4)&lt;/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)&lt;/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;Acquisitions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,150&#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;39,797&#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;143,947&#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;Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,435)&lt;/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;(36,435)&lt;/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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(12,287)&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,287)&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;Balances as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;261,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;80,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;341,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&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 goodwill balance by reportable segment as of December&#160;31, 2021 and 2020 &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;(in thousands)&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;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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="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:10pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service Centers&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;251,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;244,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Innovative Pumping Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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;Supply Chain Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,139&#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;17,139&#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="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 style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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;308,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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;261,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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="margin-bottom:6pt"&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 a summary of other intangible assets ( &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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.439%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.899%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Carrying&lt;br/&gt;Amount,&lt;br/&gt;net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Carrying&lt;br/&gt;Amount,&lt;br/&gt;net&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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;208,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(132,555)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;76,411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;193,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(116,028)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;77,719&#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="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;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(863)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(248)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;212,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(133,418)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;196,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(116,276)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;80,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;&#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;Gross carrying amounts as well as accumulated amortization are partially affected by the fluctuation of foreign currency rates. Other intangible assets are amortized according to estimated economic benefits over their estimated useful lives.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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;Customer relationships are amortized over their estimated useful lives. Amortization expense is recognized according to estimated economic benefits and was $17.2 million, $12.3 million, and $15.1 million for the years ended December&#160;31, 2021, 2020, and 2019, respectively.&#160;The estimated future annual amortization of intangible assets for each of the next five years and thereafter are as follows &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;(in thousands)&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;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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;                                                              &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:37.134%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,917&#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="padding:2px 1pt;text-align:justify;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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,681&#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="padding:2px 1pt;text-align:justify;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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,824&#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="padding:2px 1pt;text-align:justify;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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 2px 1pt;text-align:justify;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 style="background-color:#cceeff;border-bottom:2pt solid #000000;border-top:2pt 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:2pt solid #000000;border-top:2pt 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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:2pt solid #000000;border-top:2pt 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;The weighted average remaining estimated life for customer relationships and non-compete agreements are 6.6 years and 4.1 years, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzEzNDc_fa07c939-f20d-47b6-a3d5-618842e47f0c">&lt;div style="margin-bottom:6pt"&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 the carrying amount of goodwill and other intangible assets during the year ended December&#160;31, 2021 (&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;in thousands&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;): &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Goodwill&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:10pt;font-weight:700;line-height:100%"&gt;Other&lt;br/&gt;Intangible&lt;br/&gt;Assets&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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balances as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;261,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;80,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;341,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;55&#160;&lt;/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;55&#160;&lt;/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;Acquisitions &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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,259&#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;62,998&#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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(17,197)&lt;/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;(17,197)&lt;/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;Balances as of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;308,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;387,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&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 the carrying amount of goodwill and other intangible assets during the year ended December&#160;31, 2020 (&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;in thousands&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;):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Goodwill&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:10pt;font-weight:700;line-height:100%"&gt;Other&lt;br/&gt;Intangible&lt;br/&gt;Assets&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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balances as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;194,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;52,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;246,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(4)&lt;/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)&lt;/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;Acquisitions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,150&#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;39,797&#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;143,947&#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;Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,435)&lt;/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;(36,435)&lt;/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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(12,287)&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,287)&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;Balances as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;261,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;80,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;341,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock>
    <us-gaap:Goodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzEtMS0xLTEtMjY3NDM_727ffb44-d1ba-4b9b-9cf5-5199330f231f"
      unitRef="usd">261767000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzEtMy0xLTEtMjY3NDM_12a9e8e7-a0d7-41e0-9aa4-ee01797ab631"
      unitRef="usd">80088000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzEtNS0xLTEtMjY3NDM_a80f7507-b28b-480d-9244-3be7df3fc3fa"
      unitRef="usd">341855000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzItMS0xLTEtMjY3NDM_49ccf1c2-56a1-48b9-90c3-8733c72396bf"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzItMy0xLTEtMjY3NDM_5596b15d-4264-473e-9b34-17a9f1fbc986"
      unitRef="usd">55000</us-gaap:FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss>
    <dxpe:IntangibleAssetsNetIncludingGoodwillForeignCurrencyTranslationGainLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzItNS0xLTEtMjY3NDM_dd75a80d-661e-4999-a44e-c6644969a703"
      unitRef="usd">55000</dxpe:IntangibleAssetsNetIncludingGoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzMtMS0xLTEtMjY3NDM_89969598-563e-4dbc-b182-e66e6a743551"
      unitRef="usd">46739000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzMtMy0xLTEtMjY3NDM_e146265e-70af-41a0-bd0b-ae421a82aa7d"
      unitRef="usd">16259000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <dxpe:IntangibleAssetsIncludingGoodwillAcquired
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzMtNS0xLTEtMjY3NDM_2d52ee7d-9b54-45b3-b52c-79d525989e46"
      unitRef="usd">62998000</dxpe:IntangibleAssetsIncludingGoodwillAcquired>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzUtMy0xLTEtMjY3NDM_e9b8bafa-69b5-41b7-b18f-d4ade58a9b75"
      unitRef="usd">17197000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzUtNS0xLTEtMjY3NDM_f9406e1d-d523-41aa-a0fa-67b828a6f419"
      unitRef="usd">17197000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Goodwill
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzYtMS0xLTEtMjY3NDM_e9ed3d6a-ab1f-4237-b461-5a23cc9bceb4"
      unitRef="usd">308506000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzYtMy0xLTEtMjY3NDM_20aded2f-94f7-41be-b19d-c3ca907a7a10"
      unitRef="usd">79205000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpmOWIwOTI1ZmM2MmY0ZjMxYmJhYTAzMTllNTI5YTI4Yy90YWJsZXJhbmdlOmY5YjA5MjVmYzYyZjRmMzFiYmFhMDMxOWU1MjlhMjhjXzYtNS0xLTEtMjY3NDM_3aa6aac0-8cd6-40ee-92cc-3594714d3410"
      unitRef="usd">387711000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzEtMS0xLTEtMjY3NDM_b45d9c75-e9e5-4e6a-af72-83f73aa3e3d1"
      unitRef="usd">194052000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzEtMy0xLTEtMjY3NDM_480516d3-5777-46b3-8263-0d67af04cb29"
      unitRef="usd">52582000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzEtNS0xLTEtMjY3NDM_510f383d-41cc-4262-adff-c886da698b46"
      unitRef="usd">246634000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzItMS0xLTEtMjY3NDM_5ada7e5c-e564-4fde-8027-0e54f1374558"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzItMy0xLTEtMjY3NDM_8b8248ea-a859-47fc-9b48-0af36f2d9505"
      unitRef="usd">-4000</us-gaap:FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss>
    <dxpe:IntangibleAssetsNetIncludingGoodwillForeignCurrencyTranslationGainLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzItNS0xLTEtMjY3NDM_d2b8f25c-4874-4d21-8d32-adb1d189c859"
      unitRef="usd">-4000</dxpe:IntangibleAssetsNetIncludingGoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzMtMS0xLTEtMjg0OTk_e95fef7b-5ca4-496b-aa0f-1d7a29e359f0"
      unitRef="usd">104150000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzMtMy0xLTEtMjg1MDU_3b15194d-7c54-4f69-bb3c-2f55df76acff"
      unitRef="usd">39797000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <dxpe:IntangibleAssetsIncludingGoodwillAcquired
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzMtNS0xLTEtMjk4MDY_2aa69885-36c7-4061-9188-8a62ae00c26b"
      unitRef="usd">143947000</dxpe:IntangibleAssetsIncludingGoodwillAcquired>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzQtMS0xLTEtMjg0OTk_498c507b-ada7-4d82-b808-2bddcfc0e63b"
      unitRef="usd">36435000</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzQtMy0xLTEtMjg1MDU_cf7e8177-ff6d-40da-bd79-85512f39377e"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzQtNS0xLTEtMjk4MDY_f244b96e-9624-47ad-8b2b-b0539c8daf0b"
      unitRef="usd">36435000</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzMtMy0xLTEtMjY3NDM_e9cbe43f-b18a-4de7-b6ec-8fcc167ba700"
      unitRef="usd">12287000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzMtNS0xLTEtMjY3NDM_75b853e2-6943-4dee-9627-ff478e3b8b3a"
      unitRef="usd">12287000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Goodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzQtMS0xLTEtMjY3NDM_1a1665b5-7141-45d5-a943-decd4c30eeb6"
      unitRef="usd">261767000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzQtMy0xLTEtMjY3NDM_73889a18-fb7b-4b50-a043-75c6af57a27e"
      unitRef="usd">80088000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTpkYjQzOWI2YjQ5YjA0MjQwODQ2YzMzZGZiNGQ5NzJlOC90YWJsZXJhbmdlOmRiNDM5YjZiNDliMDQyNDA4NDZjMzNkZmI0ZDk3MmU4XzQtNS0xLTEtMjY3NDM_51caed4d-f745-4a71-81e3-fac029150803"
      unitRef="usd">341855000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzEzNDQ_aafffe96-6a3e-4ece-a04f-9ea4809cdce3">&lt;div style="margin-bottom:6pt"&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 goodwill balance by reportable segment as of December&#160;31, 2021 and 2020 &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;(in thousands)&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;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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="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:10pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service Centers&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;251,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;244,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Innovative Pumping Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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;Supply Chain Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,139&#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;17,139&#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="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 style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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;308,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt 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="border-bottom:3pt double #000000;border-top:2pt 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;261,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="if887a01a5a0c48efb86e5e309dc17e80_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzItMS0xLTEtMjY3NDM_f0857b1f-86b1-4de1-844d-125ac2da1b97"
      unitRef="usd">251336000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i3693573a68784c08979a484011fee7d0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzItMy0xLTEtMjY3NDM_02c1d96e-377b-4715-bfcc-89ede3c9a9ab"
      unitRef="usd">244628000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i79c6d27e42894f8f8571fda731d45cd4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzMtMS0xLTEtMjY3NDM_b384e6e8-3b9c-47c1-9ebd-8ee4782ded85"
      unitRef="usd">40031000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic8ac5250d2864371b97d0e09b9ce0145_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzMtMy0xLTEtMjY3NDM_2cca8f0d-4a40-4c07-9f47-bedee55fd09c"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7cf73b0e098d4f448e2aa3c7ba240cc7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzQtMS0xLTEtMjY3NDM_dfbd2437-4c5f-4331-a329-97a17a1ed177"
      unitRef="usd">17139000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i0378301faa63473184f98a1d17758b3a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzQtMy0xLTEtMjY3NDM_bb401977-951a-4318-8ce7-54b29a1f43a0"
      unitRef="usd">17139000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzUtMS0xLTEtMjY3NDM_6d43ca14-3245-4874-85b4-6576b38f21dc"
      unitRef="usd">308506000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo4NTE0OWU2NjVjYmY0YjhkYjYwMDM0ZDRmZjhmNThiOS90YWJsZXJhbmdlOjg1MTQ5ZTY2NWNiZjRiOGRiNjAwMzRkNGZmOGY1OGI5XzUtMy0xLTEtMjY3NDM_0aba3ef9-b0a2-432b-8f48-739bf63148a0"
      unitRef="usd">261767000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzEzNDU_a07d5816-481e-4c0d-8293-338b52f2feed">&lt;div style="margin-bottom:6pt"&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 a summary of other intangible assets ( &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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.439%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.899%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Carrying&lt;br/&gt;Amount,&lt;br/&gt;net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Carrying&lt;br/&gt;Amount,&lt;br/&gt;net&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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;208,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(132,555)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;76,411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;193,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(116,028)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;77,719&#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="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;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(863)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(248)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;212,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(133,418)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;196,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(116,276)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;80,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i44d919039834454a9adc5a28e1c4ce04_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzItMS0xLTEtMjY3NDM_3bca48fa-f5fd-45b8-8b50-c11ad5c7a0cf"
      unitRef="usd">208966000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i44d919039834454a9adc5a28e1c4ce04_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzItMy0xLTEtMjY3NDM_ab513bed-e544-472d-9479-4aee3f864405"
      unitRef="usd">132555000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i44d919039834454a9adc5a28e1c4ce04_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzItNS0xLTEtMjY3NDM_cb4540d8-454c-4c83-a7c1-a100a0540436"
      unitRef="usd">76411000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if8e9aa7151d8490f9149b18b5293f287_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzItNy0xLTEtMjY3NDM_717ea527-0b38-496e-8f23-977162ec9fe1"
      unitRef="usd">193747000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if8e9aa7151d8490f9149b18b5293f287_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzItOS0xLTEtMjY3NDM_2fe2d48a-001c-4ba7-8d51-929551e1f43a"
      unitRef="usd">116028000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if8e9aa7151d8490f9149b18b5293f287_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzItMTEtMS0xLTI2NzQz_815a9fc4-df6a-4634-8644-09526a64aad4"
      unitRef="usd">77719000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9ada97d3bbda4c19b2b075cb0f45d3b9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzMtMS0xLTEtMjY3NDM_286ad68d-f4e7-4189-8e23-9feced09320f"
      unitRef="usd">3657000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9ada97d3bbda4c19b2b075cb0f45d3b9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzMtMy0xLTEtMjY3NDM_c4d16863-0933-4123-be6a-dba58338529e"
      unitRef="usd">863000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9ada97d3bbda4c19b2b075cb0f45d3b9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzMtNS0xLTEtMjY3NDM_afb18ec3-7fcf-4a06-904d-771fea8b9d79"
      unitRef="usd">2794000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i516fe8dddc824ff4af34a5197f86bb09_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzMtNy0xLTEtMjY3NDM_d580014e-7bf8-4f4c-8460-aca937531a0a"
      unitRef="usd">2617000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i516fe8dddc824ff4af34a5197f86bb09_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzMtOS0xLTEtMjY3NDM_c41f6dfe-c884-4977-998d-27c4fcf3a11a"
      unitRef="usd">248000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i516fe8dddc824ff4af34a5197f86bb09_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzMtMTEtMS0xLTI2NzQz_698fea2f-233c-4fd3-af95-99c3fd16943c"
      unitRef="usd">2369000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzQtMS0xLTEtMjY3NDM_48887ef8-1cb9-4a29-821d-e4f86a1679f8"
      unitRef="usd">212623000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzQtMy0xLTEtMjY3NDM_e41373d9-118c-49a9-a42b-7727d2ca5b1a"
      unitRef="usd">133418000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzQtNS0xLTEtMjY3NDM_3a2bc9fb-058a-4dae-a1e7-8d4b3ee51815"
      unitRef="usd">79205000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzQtNy0xLTEtMjY3NDM_b60b7c3a-1ed6-4532-a5c9-904b5cd222eb"
      unitRef="usd">196364000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzQtOS0xLTEtMjY3NDM_07b5774a-226c-4d8a-b4b2-40eb1d364b92"
      unitRef="usd">116276000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZTo5NjE3MmJjNTUxMzI0NGJjOGJhMWQxZWVmOThjNjBiOS90YWJsZXJhbmdlOjk2MTcyYmM1NTEzMjQ0YmM4YmExZDFlZWY5OGM2MGI5XzQtMTEtMS0xLTI2NzQz_a8badd15-a4cd-47f2-87ea-ceb01bcb497f"
      unitRef="usd">80088000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzk0Mg_a11e1561-6d31-475f-8031-1de8bf08bb62"
      unitRef="usd">17200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzk0Ng_c95b422d-3c57-41b6-8bc8-4cbec7742cf0"
      unitRef="usd">12300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzk1NA_7d82c177-bffe-4960-a207-529a5d5c08d1"
      unitRef="usd">15100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzEzNTA_2b492d7c-5362-44fe-83bb-780e3577bce3">The estimated future annual amortization of intangible assets for each of the next five years and thereafter are as follows &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;(in thousands)&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;:&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;                                                              &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:37.134%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,917&#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="padding:2px 1pt;text-align:justify;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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,681&#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="padding:2px 1pt;text-align:justify;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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,824&#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="padding:2px 1pt;text-align:justify;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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 2px 1pt;text-align:justify;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 style="background-color:#cceeff;border-bottom:2pt solid #000000;border-top:2pt 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:2pt solid #000000;border-top:2pt 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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:2pt solid #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZToyNzBlNGI5ZTMxZjg0OWMwYWYwMmNmZGNlNmRkODFlYi90YWJsZXJhbmdlOjI3MGU0YjllMzFmODQ5YzBhZjAyY2ZkY2U2ZGQ4MWViXzAtMS0xLTEtMjY3NDM_f41b8889-993b-40c8-be51-0cba5ab703fd"
      unitRef="usd">16917000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZToyNzBlNGI5ZTMxZjg0OWMwYWYwMmNmZGNlNmRkODFlYi90YWJsZXJhbmdlOjI3MGU0YjllMzFmODQ5YzBhZjAyY2ZkY2U2ZGQ4MWViXzEtMS0xLTEtMjY3NDM_176a9469-10d0-4a65-9f72-49cced1cd013"
      unitRef="usd">14951000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZToyNzBlNGI5ZTMxZjg0OWMwYWYwMmNmZGNlNmRkODFlYi90YWJsZXJhbmdlOjI3MGU0YjllMzFmODQ5YzBhZjAyY2ZkY2U2ZGQ4MWViXzItMS0xLTEtMjY3NDM_327b929d-beae-4b1c-8609-cc8027cb5c01"
      unitRef="usd">12681000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZToyNzBlNGI5ZTMxZjg0OWMwYWYwMmNmZGNlNmRkODFlYi90YWJsZXJhbmdlOjI3MGU0YjllMzFmODQ5YzBhZjAyY2ZkY2U2ZGQ4MWViXzMtMS0xLTEtMjY3NDM_c2f937cf-fd53-4777-91ae-0230557b8b4b"
      unitRef="usd">11125000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZToyNzBlNGI5ZTMxZjg0OWMwYWYwMmNmZGNlNmRkODFlYi90YWJsZXJhbmdlOjI3MGU0YjllMzFmODQ5YzBhZjAyY2ZkY2U2ZGQ4MWViXzQtMS0xLTEtMjY3NDM_b1ccc3db-5abd-4cb4-a383-7b9ec7604bcb"
      unitRef="usd">8824000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZToyNzBlNGI5ZTMxZjg0OWMwYWYwMmNmZGNlNmRkODFlYi90YWJsZXJhbmdlOjI3MGU0YjllMzFmODQ5YzBhZjAyY2ZkY2U2ZGQ4MWViXzUtMS0xLTEtMjY3NDM_59a6abcd-4526-4191-b846-a1e47279f69d"
      unitRef="usd">14707000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90YWJsZToyNzBlNGI5ZTMxZjg0OWMwYWYwMmNmZGNlNmRkODFlYi90YWJsZXJhbmdlOjI3MGU0YjllMzFmODQ5YzBhZjAyY2ZkY2U2ZGQ4MWViXzYtMS0xLTEtMjY3NDM_893098b2-c17c-48e7-83c2-fe0e2758d1a1"
      unitRef="usd">79205000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i249fc7cfa60642a6aedd10ca6fa0c820_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzEzMTc_31fe7c15-4127-41fb-bd44-aec0a25ae591">P6Y7M6D</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ic1b26b499c744be88d854c2c04128a0f_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDMvZnJhZzpjOTU5NzBkZjkwYmQ0YjllOTVjNjE1YzNlMjc4MzdiYy90ZXh0cmVnaW9uOmM5NTk3MGRmOTBiZDRiOWU5NWM2MTVjM2UyNzgzN2JjXzEzMjQ_0f63f8aa-ff94-4616-bcdd-f90fbcaeadd2">P4Y1M6D</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzgzODE_f6b50b30-8c37-4ea7-b501-aa9b90a2577b">LONG-TERM DEBT&lt;div style="margin-bottom:6pt;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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:36.473%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.963%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying Value&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;Fair 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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying Value&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ABL Revolver&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="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;&#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="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;&#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="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;Term Loan B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;326,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;325,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;325,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 Debt&lt;/span&gt;&lt;/td&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;326,700&#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;325,883&#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;330,000&#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;325,875&#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="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;Less: Current maturities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,300)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,292)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,300)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,259)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 Long-term Debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;323,400&#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;border-bottom:3pt double #000000;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;322,591&#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;326,700&#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;border-bottom:3pt double #000000;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;322,616&#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:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Carrying value amount do not include unamortized debt issuance costs of $8.0 million and $9.6 million for year ended December&#160;31, 2021  and December&#160;31, 2020 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:700;line-height:120%;text-decoration:underline"&gt;Asset-Based Loan Facility:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On March 17, 2020, the Company entered into an Increase Agreement (the "Increase Agreement") that provided for a $135&#160;million asset-backed revolving line of credit (the "ABL Revolver") a $50&#160;million increase from the $85.0&#160;million available under the original revolver. During the twelve months ended December 31, 2021, the amount available to be borrowed under our credit facility decreased to $131.7 million compared to $131.9 million at December 31, 2020 primarily as a result of outstanding letters of credit.&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 December&#160;31, 2021, there were no amounts of ABL Loans outstanding under the ABL Revolver. &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's consolidated Fixed Charge Coverage Ratio was 2.74 to 1.00 as of December&#160;31, 2021. DXP was in compliance with all such covenants that were in effect on such date under the ABL Revolver as of December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ABL Credit Agreement may be increased in increments of $10.0&#160;million up to an aggregate of $50.0&#160;million. The facility will mature on August 29, 2022. Interest accrues on outstanding borrowings at a rate equal to LIBOR or CDOR plus a margin ranging from 1.25% to 1.75% per annum, or at an alternate base rate, Canadian prime rate or Canadian base rate plus a margin ranging from 0.25% to 0.75% per annum, in each case, based upon the average daily excess availability under the facility for the most recently completed calendar quarter. Fees ranging from 0.25% to 0.375% per annum are payable on the portion of the facility not in use at any given time. The unused line fee was 0.375% at December&#160;31, 2021.&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;&#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 interest rate for the ABL facility was 1.9% at December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"&gt;Term Loan B:&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;&#160;&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 December 23, 2020, DXP entered into a new seven year, $330&#160;million Senior Secured Term Loan B (the &#x201c;Term Loan B Agreement&#x201d;), which replaced DXP&#x2019;s previously existing Senior Secured Term Loan.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Term Loan B Agreement provides for a new $330&#160;million term loan (the &#x201c;Term Loan&#x201d;) that amortizes in equal quarterly installments of 0.25% with the balance payable in December 2027, when the facility matures.&#160;Subject to securing additional lender commitments, the Term Loan B Agreement allows for incremental increases in facility size up to an aggregate of $52.5&#160;million, plus an additional amount such that DXP&#x2019;s Secured Leverage Ratio (as defined in the Term Loan B Agreement) would not exceed 3.75 to 1.00. Interest accrues on the Term Loan at a rate equal to the base rate plus a margin of 3.75% for the Base Rate Loans (as defined in the Term Loan B Agreement), or LIBOR plus a margin of 4.75% for the Eurodollar Rate Loans (as defined in the Term Loan B Agreement). We are required to repay the Term Loan with certain asset sales and insurance proceeds, certain debt proceeds and 50% of excess cash flow, if our total leverage ratio is no more than 3.00 to 1.00 and greater than 2.50 to 1:00, reducing to 25%, if our total leverage ratio is no more than 2.50 to 1.00.&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;&#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 interest rate for the Term Loan was 5.75% as of December&#160;31, 2021.&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-style:italic;font-weight:400;line-height:120%"&gt;Financial Covenants:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;DXP&#x2019;s principal financial covenants under the ABL Credit Agreement and Term Loan B Agreement include:&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;&#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;Fixed Charge Coverage Ratio &#x2013; The Fixed Charge Coverage Ratio under the ABL Credit Agreement is defined as the ratio for the most recently completed four-fiscal quarter period, of (a) EBITDA &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;minus&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; capital expenditures (excluding those financed or funded with debt (other than the ABL Loans), (ii) the portion thereof funded with the net proceeds from asset dispositions of equipment or real property which DXP is permitted to reinvest pursuant to the Term Loan and the portion thereof funded with the net proceeds of casualty insurance or condemnation awards in respect of any equipment and real estate which DXP is not required to use to prepay the ABL Loans pursuant to the Term Loan B Agreement or with the proceeds of casualty insurance or condemnation awards in respect of any other property) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;minus&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; cash taxes paid (net of cash tax refunds received during such period), to (b) fixed charges.&#160; The Company is restricted from allowing its fixed charge coverage ratio be less than 1.00 to 1.00 during a compliance period, which is triggered when the availability under the ABL facility falls below a threshold set forth in the ABL Credit Agreement. As of December&#160;31, 2021, the Company's consolidated Fixed Charge Coverage Ratio was 2.74 to 1.00.&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;&#160;&lt;/span&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;Secured Leverage Ratio &#x2013; The Term Loan B Agreement requires that the Company&#x2019;s Secured Leverage Ratio, defined as the ratio, as of the last day of any fiscal quarter of consolidated secured debt (net of unrestricted cash, not to exceed $150&#160;million) as of such day to EBITDA, beginning with the fiscal quarter ending December&#160;31, 2021, is either equal to or less than as indicated in the table below:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:84.941%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.461%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.710%"/&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="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:115%"&gt;Fiscal Quarter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:115%"&gt;Secured Leverage Ratio&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.50:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.25:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.25:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;September 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.25:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.00:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.00:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;June 30, 2023 and each Fiscal Quarter thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;4.75:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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;EBITDA as defined under the Term Loan B Agreement for financial covenant purposes means, without duplication, for any period of determination, the sum of, consolidated net income during such period; &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%;text-decoration:underline"&gt;plus&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; to the extent deducted from consolidated net income in such period: (i) income tax expense, (ii) franchise tax expense, (iii) consolidated interest expense, (iv) amortization and depreciation during such period, (v) all non-cash charges and adjustments, and (vi) non-recurring cash expenses related to the Term Loan, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;provided&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;, that if the Company acquires or disposes of any property during such period (other than under certain exceptions specified in the Term Loan B Agreement, including the sale of inventory in the ordinary course of business, then EBITDA shall be calculated, after giving pro forma effect to such acquisition or disposition, as if such acquisition or disposition had occurred on the first day of such 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;As of December&#160;31, 2021, the Company&#x2019;s consolidated Secured Leverage Ratio was 3.71 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-style:italic;font-weight:400;line-height:120%"&gt;Interest on Borrowings&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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 interest rates on our borrowings outstanding at December&#160;31, 2021 and 2020, including the amortization of debt issuance costs, were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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:10pt;font-weight:700;line-height:100%"&gt;December 31, &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:700;line-height:100%"&gt;2020&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:justify;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ABL Revolver&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;1.85&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;1.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="padding:2px 1pt;text-align:justify;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 Loan B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#cceeff;padding:2px 1pt;text-align:justify;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 interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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;/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;The Company was in compliance with all financial covenants as of December&#160;31, 2021.&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:700;line-height:115%"&gt;Extinguishment and modification of Previously Existing Credit Agreement&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:115%"&gt;As set forth above, on December 23, 2020, the Company terminated its previously existing credit agreement and replaced it with a new Term Loan and Security Agreement. The terminated agreement was under the previous Term Loan and Security Agreement dated as of August 29, 2017, by and among the Company, as borrower, and Goldman Sachs Bank USA, as issuing lender and administrative agent for other lenders (the &#x201c;Original Credit Agreement&#x201d;). This Original Credit Agreement was subsequently amended on June 25, 2018 (the &#x201c;Original Term Loan Agreement&#x201d;). &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;The refinancing of the term loan involved multiple lenders who were considered members of a loan syndicate. In determining whether the refinancing was to be accounted for as a debt extinguishment or modification, we considered whether the lenders remained the same or changed and whether the change in debt terms was substantial. The debt terms would be considered substantially different if the present value of the cash inflows and outflows of the new term loans, including all principal increases and lender fees on the refinancing date, was at least 10% different from the present value of the remaining cash inflows and outflows of the original term loans, or the 10% Test. We performed a separate 10% Test for each individual lender participating in the loan syndication. For existing lenders who participated in the new term loans as part of the new loan syndicate, the refinancing was accounted for as a modification as the change in debt terms was determined to not be substantial using the 10% Test. &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:115%"&gt;Deferred financing costs of $3.0&#160;million and an original issue discount of $4.1&#160;million were associated with modified and new debt and will be amortized to interest expense using the interest method over the life of the term loans. In connection with the original lenders considered an extinguishment of the previously existing Term Loan and Security Agreement we recorded a $5.4 million write-off of debt issuance costs and third-party fees, which was included in interest expense during 2020.&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;As of December&#160;31, 2021, the maturities of long-term debt for the next five years and thereafter were as follows (&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:115%"&gt;in thousands&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&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:65.935%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.055%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.056%"/&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="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;$ Amount&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="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;310,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-left:1pt solid #000000;border-top:1.5pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1.5pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;326,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-right:1pt solid #000;border-top:1.5pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzgzODY_ac4a34cb-5d60-4a21-9d63-3335cbdc5f58">&lt;div style="margin-bottom:6pt;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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:36.473%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.963%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying Value&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;Fair 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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying Value&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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:10pt;font-weight:700;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ABL Revolver&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="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;&#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="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;&#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="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;Term Loan B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;326,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;325,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;325,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 Debt&lt;/span&gt;&lt;/td&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;326,700&#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;325,883&#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;330,000&#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;325,875&#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="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;Less: Current maturities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,300)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,292)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,300)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,259)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 Long-term Debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;323,400&#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;border-bottom:3pt double #000000;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;322,591&#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;326,700&#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;border-bottom:3pt double #000000;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;322,616&#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;(1) Carrying value amount do not include unamortized debt issuance costs of $8.0 million and $9.6 million for year ended December&#160;31, 2021  and December&#160;31, 2020 respectively.</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt
      contextRef="i19bfec4aaafd463fb79c9f1938e3f8b4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzItMS0xLTEtMjY3NDM_a9f89e19-6862-4f50-a39a-1ff1668f0108"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="iba6213f237924eeda7e0a28db0f350fc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzItMy0xLTEtMjY3NDM_ab85d35c-d3d7-4808-a9b6-90f49bf7dde1"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ie0b45b1692294f67a1cb751c4e7cb91c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzItNS0xLTEtMjY3NDM_27416fbd-e33c-406d-bd43-0bb237ea6003"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i1b1e8dd2f94d49df9c1f89709b8a3a3f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzItNy0xLTEtMjY3NDM_b53cae96-da01-4c7f-9c29-d8d4240c10e5"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ic07e97f19a0343208e4f5f6a8abc1bdb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzMtMS0xLTEtMjY3NDM_dd5e510d-7378-4240-b6e5-72e985baced4"
      unitRef="usd">326700000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="iae78311e8e1f4a9aab556a9f565e73a0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzMtMy0xLTEtMjY3NDM_d7c58509-4a41-4b9c-9163-2a7d7f0875a1"
      unitRef="usd">325883000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ib1798fa1cf3e4016bf522cf6fd5a0102_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzMtNS0xLTEtMjY3NDM_b0c0b92f-6cd8-4955-9d40-dbcb2063e95f"
      unitRef="usd">330000000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ic3f0fa91f0394f14b37418bd7001da7f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzMtNy0xLTEtMjY3NDM_25d4c16a-8a8d-4aff-8eab-4594020eb90b"
      unitRef="usd">325875000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i507b120f53814dd795eb9c4e0b1cc703_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzQtMS0xLTEtMjY3NDM_42f44f08-b882-42b4-a8d1-e7ded98f5897"
      unitRef="usd">326700000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i54d88a63c265407fa35e44eb3d36f84a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzQtMy0xLTEtMjY3NDM_ec156e95-daf3-4255-a2f9-37c98c039da3"
      unitRef="usd">325883000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i52a92f0499cf45cc9ea989a00c22e6c9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzQtNS0xLTEtMjY3NDM_b44687d3-1eb9-48de-bc74-2369d3e9fae1"
      unitRef="usd">330000000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i9427224bddc0434b900e75297f9289e4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzQtNy0xLTEtMjY3NDM_49fe333f-c394-493e-b655-69db6ca25b9b"
      unitRef="usd">325875000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="i507b120f53814dd795eb9c4e0b1cc703_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzUtMS0xLTEtMjY3NDM_d69c5074-1060-4659-8048-c4215ed32f4a"
      unitRef="usd">3300000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i54d88a63c265407fa35e44eb3d36f84a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzUtMy0xLTEtMjY3NDM_aea05e49-a6ef-43be-b00d-02ec479d9d66"
      unitRef="usd">3292000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i52a92f0499cf45cc9ea989a00c22e6c9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzUtNS0xLTEtMjY3NDM_510cb941-5824-4146-bd91-345a7a2ccb68"
      unitRef="usd">3300000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i9427224bddc0434b900e75297f9289e4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzUtNy0xLTEtMjY3NDM_281f0271-32df-4666-af95-3110d147da98"
      unitRef="usd">3259000</us-gaap:LongTermDebtCurrent>
    <dxpe:LongTermDebtExcludingCurrentMaturitiesGross
      contextRef="i507b120f53814dd795eb9c4e0b1cc703_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzYtMS0xLTEtMjY3NDM_573cca57-6856-4c25-a9c0-2936257258b9"
      unitRef="usd">323400000</dxpe:LongTermDebtExcludingCurrentMaturitiesGross>
    <dxpe:LongTermDebtExcludingCurrentMaturitiesGross
      contextRef="i54d88a63c265407fa35e44eb3d36f84a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzYtMy0xLTEtMjY3NDM_79290a4e-eedf-4042-9a47-3b4d5c6121fa"
      unitRef="usd">322591000</dxpe:LongTermDebtExcludingCurrentMaturitiesGross>
    <dxpe:LongTermDebtExcludingCurrentMaturitiesGross
      contextRef="i52a92f0499cf45cc9ea989a00c22e6c9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzYtNS0xLTEtMjY3NDM_f71772f9-f1c8-4680-976c-082024bd01fe"
      unitRef="usd">326700000</dxpe:LongTermDebtExcludingCurrentMaturitiesGross>
    <dxpe:LongTermDebtExcludingCurrentMaturitiesGross
      contextRef="i9427224bddc0434b900e75297f9289e4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo5OTc3ZGI3NmM3Njk0Yjc0ODA5ZmVjYTQ4ZDZhZWVjOC90YWJsZXJhbmdlOjk5NzdkYjc2Yzc2OTRiNzQ4MDlmZWNhNDhkNmFlZWM4XzYtNy0xLTEtMjY3NDM_60b49b7e-9a73-49fe-aab1-da7a070c4895"
      unitRef="usd">322616000</dxpe:LongTermDebtExcludingCurrentMaturitiesGross>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE2OA_85283a66-5583-474b-b394-891a43a95cf3"
      unitRef="usd">8000000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE3NQ_a755efc2-c67b-4b16-9489-be3e298bf44d"
      unitRef="usd">9600000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i157fcfab54bd4fda8a97ed42834f1d06_I20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzM2Mg_c5f3a460-cdad-4da2-93f5-f3db14029dd7"
      unitRef="usd">135000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <dxpe:DebtInstrumentIncreaseInMaximumBorrowingCapacity
      contextRef="i321a201b9cb6444fbaaad87864e65db2_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzQyNg_6416f3de-f200-477b-a0a7-747e5ff33389"
      unitRef="usd">50000000</dxpe:DebtInstrumentIncreaseInMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="iaddf8449dcee4e3380f6790453b39a50_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzQ0Nw_220a3ad2-d087-4a56-b667-3331b1555230"
      unitRef="usd">85000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i2b22d634b8a7406e9282fa289042516e_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzU3OQ_db27f915-9430-4d44-8083-4ae9107c923a"
      unitRef="usd">131700000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i2e13a0481df744a58b6f016ed66913d4_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzU5NA_785eb86d-d64d-411d-87bb-208deaea0152"
      unitRef="usd">131900000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LongTermDebt
      contextRef="i2b22d634b8a7406e9282fa289042516e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1Xzc0Ng_f2138430-fa4b-4f78-be6c-690197e2b8d7"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <dxpe:DebtInstrumentCovenantComplianceConsolidatedFixedChargeCoverageRatio
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1Xzg2Nw_d47fb249-d3b0-4785-abb4-2f3ec5f3dafd"
      unitRef="number">2.74</dxpe:DebtInstrumentCovenantComplianceConsolidatedFixedChargeCoverageRatio>
    <dxpe:LineOfCreditFacilityIncrementAmountToIncreaseMaximumBorrowingCapacity
      contextRef="i321a201b9cb6444fbaaad87864e65db2_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzEwNjA_6162d8ec-05d5-4140-97ad-c0c49140ae49"
      unitRef="usd">10000000</dxpe:LineOfCreditFacilityIncrementAmountToIncreaseMaximumBorrowingCapacity>
    <dxpe:DebtInstrumentIncreaseInMaximumBorrowingCapacity
      contextRef="i321a201b9cb6444fbaaad87864e65db2_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzEwODU_ec3312e8-22e3-4ddb-9393-650ccd5ed49f"
      unitRef="usd">50000000</dxpe:DebtInstrumentIncreaseInMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="icffd4cfa8aff416a80960bf195b5bc6e_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzEyMzc_d97d6a5f-471f-456a-afa5-fbc624c8e81c"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic5c1f48a75674f388b742360d8c4e8ec_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzEyNDM_7337ccdd-b4eb-489f-97d3-d449cf7e0391"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ia26ffe4bfb4e4a64829ffbe323fcdf19_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzEzNTY_61fd6041-afda-4f5d-9c75-a20175b01306"
      unitRef="number">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i93c597fca8894f08879fc8e22e790ce6_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzEzNjI_66cc9150-9ce4-4f2a-8de6-5cfd73691b46"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i23a7d675442b4772bcd931e3916772b4_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE1MjY_490ddea9-de5c-47e7-94cf-f1e986c41003"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i3c3c57e8765d460f9c250d7f87e21b3c_D20200317-20200317"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE1MzI_c969f471-2036-44cb-b63f-72379bc825af"
      unitRef="number">0.00375</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="ic11cb98e54ed4d0d88cb6f1641a7e59f_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE2NDI_48094065-4901-4009-8e32-17db7bd139b8"
      unitRef="number">0.00375</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="i2b22d634b8a7406e9282fa289042516e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE2OTc_2524c09b-8598-4b24-a136-e9cf35fcda18"
      unitRef="number">0.019</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <us-gaap:DebtInstrumentTerm
      contextRef="i47e4d8bb2189431083902ac694b5122c_D20201223-20201223"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzgzODc_310273cf-6795-4798-aa0d-4cc04a210cd2">P7Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i1a5fbc90412448108088ba384d3ab127_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE3Nzc_046c8054-d40f-4b4d-a048-529dfa527879"
      unitRef="usd">330000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i1a5fbc90412448108088ba384d3ab127_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzE5NTM_a5c09334-4901-4860-8d96-f960cd9ea8ad"
      unitRef="usd">330000000</us-gaap:DebtInstrumentFaceAmount>
    <dxpe:DebtInstrumentQuarterlyInstallmentPaymentPercentage
      contextRef="i1a5fbc90412448108088ba384d3ab127_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzIwMzQ_71e8d9a6-fabc-426e-8c96-f50682ba26eb"
      unitRef="number">0.0025</dxpe:DebtInstrumentQuarterlyInstallmentPaymentPercentage>
    <dxpe:DebtInstrumentIncreaseInMaximumBorrowingCapacity
      contextRef="i47e4d8bb2189431083902ac694b5122c_D20201223-20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzIyNTY_6785b056-5b1e-484b-a2d5-ede235552934"
      unitRef="usd">52500000</dxpe:DebtInstrumentIncreaseInMaximumBorrowingCapacity>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i1a5fbc90412448108088ba384d3ab127_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzIzODQ_c92ead7b-8c07-4f3f-82bd-6f009384d8b6"
      unitRef="number">3.75</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i0c1fe6cce93b4829a595e4e7a0011149_D20201223-20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI0ODA_b82d7882-86b7-4166-85d9-8dc24eb0b1a8"
      unitRef="number">0.0375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i92996a09659e4c5bafbb6df80af0cff3_D20201223-20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI1NzY_11fe9762-2426-4efb-acd4-2ddd631613a6"
      unitRef="number">0.0475</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dxpe:DebtInstrumentCovenantCompliancePercentageOfExcessCashFlow
      contextRef="i0f3d7acb1fde4f83b784cf5bdcdd4b4d_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI3NjY_7e19f59d-15ca-4c6d-ab83-08157dd3b18d"
      unitRef="number">0.50</dxpe:DebtInstrumentCovenantCompliancePercentageOfExcessCashFlow>
    <dxpe:DebtInstrumentCovenantComplianceTotalLeverageRatio
      contextRef="i0f3d7acb1fde4f83b784cf5bdcdd4b4d_I20201223"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI4MzQ_4b44ac92-8157-4d1f-aae7-d495802ffe1d"
      unitRef="number">3.00</dxpe:DebtInstrumentCovenantComplianceTotalLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceTotalLeverageRatio
      contextRef="i369423dd132146978f9cefe4a240fd0c_I20201223"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI4NjI_9c7d5482-6024-4bd2-8a6a-a0248aa4082f"
      unitRef="number">2.50</dxpe:DebtInstrumentCovenantComplianceTotalLeverageRatio>
    <dxpe:DebtInstrumentCovenantCompliancePercentageOfExcessCashFlow
      contextRef="i369423dd132146978f9cefe4a240fd0c_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI4ODY_f653b0dd-e8a8-4fe0-85ed-98099cf78ece"
      unitRef="number">0.25</dxpe:DebtInstrumentCovenantCompliancePercentageOfExcessCashFlow>
    <dxpe:DebtInstrumentCovenantComplianceTotalLeverageRatio
      contextRef="i369423dd132146978f9cefe4a240fd0c_I20201223"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI5MzQ_65d687e9-0783-47a7-91b1-7ce714daba8a"
      unitRef="number">2.50</dxpe:DebtInstrumentCovenantComplianceTotalLeverageRatio>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="i1e6c74f326e643b5aeac00ed22fedb20_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzI5ODg_5d1098d5-0158-4236-b15d-3d9a2f0fa83b"
      unitRef="number">0.0575</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <dxpe:DebtInstrumentCovenantComplianceFixedChargeCoverageRatio
      contextRef="i1a5fbc90412448108088ba384d3ab127_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzQxMTE_b38ab9e7-c418-49ec-90a2-76956c14e6d2"
      unitRef="number">1.00</dxpe:DebtInstrumentCovenantComplianceFixedChargeCoverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceConsolidatedFixedChargeCoverageRatio
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzQzNDY_d47fb249-d3b0-4785-abb4-2f3ec5f3dafd"
      unitRef="number">2.74</dxpe:DebtInstrumentCovenantComplianceConsolidatedFixedChargeCoverageRatio>
    <dxpe:ScheduleOfDebtInstrumentCovenantComplianceSecuredLeverageRatioTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzgzODg_853ef666-6e15-4ec2-b227-f4bd9c65b55e">&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;Secured Leverage Ratio &#x2013; The Term Loan B Agreement requires that the Company&#x2019;s Secured Leverage Ratio, defined as the ratio, as of the last day of any fiscal quarter of consolidated secured debt (net of unrestricted cash, not to exceed $150&#160;million) as of such day to EBITDA, beginning with the fiscal quarter ending December&#160;31, 2021, is either equal to or less than as indicated in the table below:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:84.941%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.461%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.710%"/&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="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:115%"&gt;Fiscal Quarter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:115%"&gt;Secured Leverage Ratio&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.50:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.25:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.25:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;September 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.25:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.00:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;5.00:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;June 30, 2023 and each Fiscal Quarter thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;4.75:1:00&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</dxpe:ScheduleOfDebtInstrumentCovenantComplianceSecuredLeverageRatioTableTextBlock>
    <dxpe:DebtInstrumentCovenantComplianceMaximumAmountOfConsolidatedDebtNetOfUnrestrictedCash
      contextRef="i1a5fbc90412448108088ba384d3ab127_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzQ1OTY_03777ad5-17b8-46b9-8c3c-1ef1ffa27c25"
      unitRef="usd">150000000</dxpe:DebtInstrumentCovenantComplianceMaximumAmountOfConsolidatedDebtNetOfUnrestrictedCash>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="if09cdb63c6b64c6687d2008945966ae4_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTpiY2Q5ZWRjMTJiMWM0NTE5Yjg1ZTk3ZDFhNWQxZGUwMy90YWJsZXJhbmdlOmJjZDllZGMxMmIxYzQ1MTliODVlOTdkMWE1ZDFkZTAzXzUtMi0xLTEtMjY3NDMvdGV4dHJlZ2lvbjpkN2U3Mzk4ZDZkYmM0OTc3ODIxYWRkZDM4ZTIzN2IyOV80_cfc294d4-16ba-4251-b23b-b1f169f27da9"
      unitRef="number">5.50</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i1b902783b1aa49a29e981dc164808bfe_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTpiY2Q5ZWRjMTJiMWM0NTE5Yjg1ZTk3ZDFhNWQxZGUwMy90YWJsZXJhbmdlOmJjZDllZGMxMmIxYzQ1MTliODVlOTdkMWE1ZDFkZTAzXzYtMi0xLTEtMjY3NDMvdGV4dHJlZ2lvbjo1NmI1OTQ5ZGEzOTE0NDIxOWZjNWEyZmViOGFkMzA3Nl80_70caa0e0-982f-4b7e-8ed8-202eda9ced28"
      unitRef="number">5.25</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i6b5039cf54c948659f849b39d4d74188_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTpiY2Q5ZWRjMTJiMWM0NTE5Yjg1ZTk3ZDFhNWQxZGUwMy90YWJsZXJhbmdlOmJjZDllZGMxMmIxYzQ1MTliODVlOTdkMWE1ZDFkZTAzXzctMi0xLTEtMjY3NDMvdGV4dHJlZ2lvbjo0MzgyOTFiODY4MzU0MDg3OTkxZWY1MmU5NjQ0N2NmY180_f68afb4d-4af1-40f6-8d46-b78eed5488bd"
      unitRef="number">5.25</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i996fe9cfd423468c957fe4788b0b7560_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTpiY2Q5ZWRjMTJiMWM0NTE5Yjg1ZTk3ZDFhNWQxZGUwMy90YWJsZXJhbmdlOmJjZDllZGMxMmIxYzQ1MTliODVlOTdkMWE1ZDFkZTAzXzgtMi0xLTEtMjY3NDMvdGV4dHJlZ2lvbjphMzdlY2NiYjA3MTc0ODFlODQ0ZDkwODAwNmU1YWIwNF80_f1691861-0436-4a41-be74-5f25362e9570"
      unitRef="number">5.25</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i5460a7bed9d44efcb2deabb2644d9318_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTpiY2Q5ZWRjMTJiMWM0NTE5Yjg1ZTk3ZDFhNWQxZGUwMy90YWJsZXJhbmdlOmJjZDllZGMxMmIxYzQ1MTliODVlOTdkMWE1ZDFkZTAzXzktMi0xLTEtMjY3NDMvdGV4dHJlZ2lvbjo5YWZmMmUzNzVjNDE0MTQ0ODFlZDgwMzhhYmZkYjU0MV80_e383fc80-280c-4f1a-a4d9-d79198fbc377"
      unitRef="number">5.00</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i686c0b305a044811adaebbea48067ed0_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTpiY2Q5ZWRjMTJiMWM0NTE5Yjg1ZTk3ZDFhNWQxZGUwMy90YWJsZXJhbmdlOmJjZDllZGMxMmIxYzQ1MTliODVlOTdkMWE1ZDFkZTAzXzEwLTItMS0xLTI2NzQzL3RleHRyZWdpb246NjAxMzk2MGU3ODNiNDQ3Y2FkMjQzZmJhMTFiNTEwMzNfNA_858d4711-d7e4-45cf-a8ec-43ac2b5f351e"
      unitRef="number">5.00</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i85cd107f589543f69099d49f27dcba36_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTpiY2Q5ZWRjMTJiMWM0NTE5Yjg1ZTk3ZDFhNWQxZGUwMy90YWJsZXJhbmdlOmJjZDllZGMxMmIxYzQ1MTliODVlOTdkMWE1ZDFkZTAzXzExLTItMS0xLTI2NzQzL3RleHRyZWdpb246MmQ5MDUxYTdjMzEyNGIxYzhjMDFiMTE0YmMzZmRlOGZfNA_fd2ca008-c023-4d6f-b75a-3ced115c87e1"
      unitRef="number">4.75</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio
      contextRef="i1e6c74f326e643b5aeac00ed22fedb20_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzU3Mzc_6aa5e985-4775-434f-8752-6f4d8aba4cb0"
      unitRef="number">3.71</dxpe:DebtInstrumentCovenantComplianceSecuredLeverageRatio>
    <dxpe:InterestRateOnBorrowingsOutstandingTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzgzODI_c7876b38-f254-4b71-8f8e-8dc45198d347">&lt;div style="margin-bottom:6pt;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 interest rates on our borrowings outstanding at December&#160;31, 2021 and 2020, including the amortization of debt issuance costs, were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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:10pt;font-weight:700;line-height:100%"&gt;December 31, &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:700;line-height:100%"&gt;2020&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:justify;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ABL Revolver&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;1.85&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;1.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="padding:2px 1pt;text-align:justify;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 Loan B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#cceeff;padding:2px 1pt;text-align:justify;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 interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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;/table&gt;&lt;/div&gt;</dxpe:InterestRateOnBorrowingsOutstandingTableTextBlock>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="if07a8c14a52b4c4ab5622d2938c0f8dd_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo0YzQ5N2Q3Nzc0Y2I0MjFmYTYwNTYzOTVkNjgzMjVjYS90YWJsZXJhbmdlOjRjNDk3ZDc3NzRjYjQyMWZhNjA1NjM5NWQ2ODMyNWNhXzItMS0xLTEtMjY3NDM_91806534-d769-42bc-8b4b-16fc7bfc7a2d"
      unitRef="number">0.0185</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="ia2c6ce81a60448749f89755db1bc9da8_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo0YzQ5N2Q3Nzc0Y2I0MjFmYTYwNTYzOTVkNjgzMjVjYS90YWJsZXJhbmdlOjRjNDk3ZDc3NzRjYjQyMWZhNjA1NjM5NWQ2ODMyNWNhXzItMy0xLTEtMjY3NDM_b1328b44-1c72-4cde-8fbc-2fbf47108a30"
      unitRef="number">0.0190</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="i25e92db3575343489dc15c8d0f3998f2_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo0YzQ5N2Q3Nzc0Y2I0MjFmYTYwNTYzOTVkNjgzMjVjYS90YWJsZXJhbmdlOjRjNDk3ZDc3NzRjYjQyMWZhNjA1NjM5NWQ2ODMyNWNhXzMtMS0xLTEtMjY3NDM_866f6996-51af-441f-9b82-3e97e47e61e6"
      unitRef="number">0.0575</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd
      contextRef="i915d7cb646da48dba9732a3c3a46cd31_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo0YzQ5N2Q3Nzc0Y2I0MjFmYTYwNTYzOTVkNjgzMjVjYS90YWJsZXJhbmdlOjRjNDk3ZDc3NzRjYjQyMWZhNjA1NjM5NWQ2ODMyNWNhXzMtMy0xLTEtMjY3NDM_5b7808e8-3279-4cdc-b5d0-1139876fcb90"
      unitRef="number">0.0575</us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo0YzQ5N2Q3Nzc0Y2I0MjFmYTYwNTYzOTVkNjgzMjVjYS90YWJsZXJhbmdlOjRjNDk3ZDc3NzRjYjQyMWZhNjA1NjM5NWQ2ODMyNWNhXzQtMS0xLTEtMjY3NDM_9919331a-a5f2-4510-8d67-e83c2133ca1b"
      unitRef="number">0.0575</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo0YzQ5N2Q3Nzc0Y2I0MjFmYTYwNTYzOTVkNjgzMjVjYS90YWJsZXJhbmdlOjRjNDk3ZDc3NzRjYjQyMWZhNjA1NjM5NWQ2ODMyNWNhXzQtMy0xLTEtMjY3NDM_4a7a04c4-7b83-48b6-926f-238aed820724"
      unitRef="number">0.0575</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:DebtInstrumentMeasurementInput
      contextRef="i6c23c37138f5443d8715da44ee000139_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzczNDQ_6e3cb334-66b9-4a68-90ba-20ab72bedd95"
      unitRef="rate">0.10</us-gaap:DebtInstrumentMeasurementInput>
    <us-gaap:DebtInstrumentMeasurementInput
      contextRef="i6c23c37138f5443d8715da44ee000139_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1Xzc0NTg_883a7667-c139-4374-8bda-bf3c9ca6a3a9"
      unitRef="rate">0.10</us-gaap:DebtInstrumentMeasurementInput>
    <us-gaap:DebtInstrumentMeasurementInput
      contextRef="i6c23c37138f5443d8715da44ee000139_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1Xzc0OTE_ebcc9918-6baf-44b9-805b-c95ceb423704"
      unitRef="rate">0.10</us-gaap:DebtInstrumentMeasurementInput>
    <us-gaap:DebtInstrumentMeasurementInput
      contextRef="i6c23c37138f5443d8715da44ee000139_I20201223"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1Xzc3ODc_874b2082-ad14-4a18-9ca7-a42b3e50aba2"
      unitRef="rate">0.10</us-gaap:DebtInstrumentMeasurementInput>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="ia89d9ed5da6741a18947791dd92f86fd_I20201223"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1Xzc4MjY_901767c8-eded-4e99-8bed-4c1c94256f62"
      unitRef="usd">3000000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="ia89d9ed5da6741a18947791dd92f86fd_I20201223"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1Xzc4NjM_41d2c46b-c2f7-46d3-937e-40f704845eba"
      unitRef="usd">4100000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i8a3d4d123b6e4a3099d0e364de6ba19d_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzgxNTM_dc51608a-d33c-4448-a76a-0352de952e21"
      unitRef="usd">5400000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90ZXh0cmVnaW9uOmU5MWFhYjQ3NGIzMTQwNjE4YTdjNWQzMzI2ZGQwYmY1XzgzODM_3008f41b-e1e8-4b7e-81db-d0515ce0be9f">&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;As of December&#160;31, 2021, the maturities of long-term debt for the next five years and thereafter were as follows (&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:115%"&gt;in thousands&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&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:65.935%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.055%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.056%"/&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="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;$ Amount&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="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;3,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;310,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-right:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-left:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-left:1pt solid #000000;border-top:1.5pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1.5pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:115%"&gt;326,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-right:1pt solid #000;border-top:1.5pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo2M2RmNDI5MGVmMGU0YTZmOThlNDljMTQ1MmM1ODAyZi90YWJsZXJhbmdlOjYzZGY0MjkwZWYwZTRhNmY5OGU0OWMxNDUyYzU4MDJmXzEtMi0xLTEtMjY3NDM_c9dcd47a-b4f5-488c-84b0-86717fbac28b"
      unitRef="usd">3300000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo2M2RmNDI5MGVmMGU0YTZmOThlNDljMTQ1MmM1ODAyZi90YWJsZXJhbmdlOjYzZGY0MjkwZWYwZTRhNmY5OGU0OWMxNDUyYzU4MDJmXzItMi0xLTEtMjY3NDM_dfcc6dd4-d300-4e20-bf07-282bd8888694"
      unitRef="usd">3300000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo2M2RmNDI5MGVmMGU0YTZmOThlNDljMTQ1MmM1ODAyZi90YWJsZXJhbmdlOjYzZGY0MjkwZWYwZTRhNmY5OGU0OWMxNDUyYzU4MDJmXzMtMi0xLTEtMjY3NDM_d29ea562-aa46-491c-8f79-7b56f230bc08"
      unitRef="usd">3300000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo2M2RmNDI5MGVmMGU0YTZmOThlNDljMTQ1MmM1ODAyZi90YWJsZXJhbmdlOjYzZGY0MjkwZWYwZTRhNmY5OGU0OWMxNDUyYzU4MDJmXzQtMi0xLTEtMjY3NDM_440aaa5b-804d-4c4f-9826-71af8cb4332f"
      unitRef="usd">3300000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo2M2RmNDI5MGVmMGU0YTZmOThlNDljMTQ1MmM1ODAyZi90YWJsZXJhbmdlOjYzZGY0MjkwZWYwZTRhNmY5OGU0OWMxNDUyYzU4MDJmXzUtMi0xLTEtMjY3NDM_330f9dc9-20ae-407d-bf93-e5e28efc8708"
      unitRef="usd">3300000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo2M2RmNDI5MGVmMGU0YTZmOThlNDljMTQ1MmM1ODAyZi90YWJsZXJhbmdlOjYzZGY0MjkwZWYwZTRhNmY5OGU0OWMxNDUyYzU4MDJmXzYtMi0xLTEtMjY3NDM_7d428b8a-69a5-49ab-b516-9d84d7156a23"
      unitRef="usd">310200000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDYvZnJhZzplOTFhYWI0NzRiMzE0MDYxOGE3YzVkMzMyNmRkMGJmNS90YWJsZTo2M2RmNDI5MGVmMGU0YTZmOThlNDljMTQ1MmM1ODAyZi90YWJsZXJhbmdlOjYzZGY0MjkwZWYwZTRhNmY5OGU0OWMxNDUyYzU4MDJmXzctMi0xLTEtMjY3NDM_e41d2d93-cd12-47b3-b4f4-20c9c67837ae"
      unitRef="usd">326700000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NjI_4a8831b3-e484-47a1-9704-505d434ed56a">INCOME TAXES&lt;div style="margin-bottom:6pt;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 components of income (loss) before income taxes were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;9,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;(33,239)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;42,257&#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="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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(48,313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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 provision for income taxes consisted of the following (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current -&lt;/span&gt;&lt;/td&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;&#160;&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: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;&#160;&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: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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(5,243)&lt;/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;(6,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 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;5,396&#160;&lt;/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 7.75pt;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;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(522)&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;(240)&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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,056&#160;&lt;/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;2,624&#160;&lt;/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;2,982&#160;&lt;/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 current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,709)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;(3,964)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Deferred -&lt;/span&gt;&lt;/td&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;&#160;&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;&#160;&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,016&#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;(10,567)&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,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,810&#160;&lt;/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,126)&lt;/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;(249)&lt;/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 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(686)&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;(1,039)&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;(1,283)&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 deferred&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;6,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current and deferred taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(18,696)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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="margin-bottom:6pt;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 difference between income taxes computed at the statutory income tax rate and the provision for income taxes is as follows  (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income taxes computed at federal statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;4,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(10,146)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;10,029&#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="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;State income taxes, net of federal benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,625)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#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;(493)&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;311&#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="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;Nondeductible expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Enacted rate changes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;318&#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;670&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,036)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,324)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 tax credit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(57)&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="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;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Tax reform deferred tax remeasurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,587)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liability true up&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(551)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Uncertain tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;871&#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,057&#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;665&#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="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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(929)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 income tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(18,696)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;Deferred tax liabilities and assets were comprised of the following (&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;in thousands&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;):&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:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;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;&#160;&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:2pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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,554&#160;&lt;/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,784&#160;&lt;/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 7.75pt;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;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,747&#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;7,072&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Federal general business credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,237&#160;&lt;/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;8,408&#160;&lt;/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 7.75pt;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;Texas research and development tax credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,679&#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;/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;&#160;&#160;&#160;Louisiana research and development tax credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239&#160;&lt;/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 7.75pt;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 tax credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#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;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Charitable Contribution Carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;531&#160;&lt;/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 7.75pt;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 operating loss carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;786&#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;802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Capital loss carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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,813&#160;&lt;/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 7.75pt;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;Deferred compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152&#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;540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,005&#160;&lt;/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,690&#160;&lt;/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 7.75pt;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;Business interest expense carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;389&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Investment in partnerships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(188)&lt;/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;319&#160;&lt;/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 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(29)&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;312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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 deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;22,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;37,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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 valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&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,813)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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 deferred tax asset, net of valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;22,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,474)&lt;/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;(8,570)&lt;/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 7.75pt;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;Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,813)&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,512)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,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;(7,569)&lt;/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 7.75pt;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;ROU asset and liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;226&#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;(323)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Unremitted foreign earnings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(421)&lt;/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;(421)&lt;/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 7.75pt;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;Method changes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(465)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;(754)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(618)&lt;/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;(619)&lt;/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 deferred tax liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;(7,516)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,777)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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 records a valuation allowance when it is more-likely-than-not that some portion or all of the deferred tax assets will not be realized. The ultimate realization of the deferred tax assets depends on the ability to generate sufficient taxable income of the appropriate character in the future and in the appropriate taxing jurisdictions. If the Company was to determine that it would be able to realize the deferred tax assets in the future in excess of their net recorded amount, the Company would make an adjustment to the valuation allowance, which would reduce the provision for income taxes. At December&#160;31, 2021, the valuation allowance primarily relates to federal and foreign capital loss carryforwards. &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;The following summarizes changes in the balance of valuation allowances on deferred tax assets (in thousands):&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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.029%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.438%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.415%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.287%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&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 at January 1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,813)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,564)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Changes due to federal and foreign capital loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,809&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(450)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 at December 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(4)&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;(12,813)&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;(12,363)&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;/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;Tax carryforwards available for use on future income tax returns, prior to valuation allowance, at December 31, 2021, were as follows (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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.111%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.921%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.311%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Expiration&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;Net operating loss - foreign&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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-top:2pt 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:2pt 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:2pt 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;453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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-top:2pt solid #000;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;2034 - 2041&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align: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 operating loss - federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2036 - 2040&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;Capital loss carryforward - foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;4&#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="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital loss carryforward - federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#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="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;2023, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal general business tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2026 - 2030&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;Texas research and development tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,679&#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="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;2037 - 2040&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Louisiana research and development tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2024 - 2025&lt;/span&gt;&lt;/td&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:107%"&gt;Changes in the balance of unrecognized tax benefits excluding interest and penalties on uncertain tax positions were as follows (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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.968%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.968%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.732%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Assets (Liabilities)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&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 at January 1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;(5,057)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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-top:2pt 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:2pt 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:2pt 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-top:2pt 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="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;&#160;&#160;&#160;Increases related to prior year tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(687)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,057)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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;&#160;&#160;&#160;Decreases related to prior year tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;&#160;&#160;&#160;Increases related to current year tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(572)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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;&#160;&#160;&#160;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;&#160;&#160;&#160;Lapse of statute of limitations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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 at December 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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,316)&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;(5,057)&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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;As of December&#160;31, 2021, the Company had recorded a total tax benefit of $25.0&#160;million related to federal and state research and development tax credits. This benefit is partially offset by $6.3&#160;million uncertain tax position due to the uncertainty related to the realizability of the federal research and development tax credits.&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;To the extent penalties and interest would be assessed on any underpayment of income tax, such accrued amounts are classified as a component of income tax provision (benefit) in the consolidated financial statements consistent with Company's policy. For the year ended December&#160;31, 2021, the Company did not record any tax expense for interest and penalties related to uncertain tax positions.&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 subject to taxation in the United States, various states, and foreign jurisdictions. The Company has significant operations in the United States and Canada and to a lesser extent in various other international jurisdictions. Tax years that remain subject to examination vary by legal entity but are generally open in the United States for the tax years ended after 2016 and outside the United States for the tax years ended after 2013.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NTg_a5db4958-354f-46b1-aa29-987f1dbcb5ee">&lt;div style="margin-bottom:6pt;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 components of income (loss) before income taxes were as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;9,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;(33,239)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;42,257&#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="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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(48,313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzMtMS0xLTEtMjY3NDM_c2a42920-7e3c-4627-aaeb-db78f3d1cb70"
      unitRef="usd">9897000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzMtMy0xLTEtMjY3NDM_5cfeb718-c905-4ccf-89e9-c07adebc85e8"
      unitRef="usd">-33239000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzMtNS0xLTEtMjY3NDM_c3afd210-669a-4da7-9a4a-013d45de86f0"
      unitRef="usd">42257000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzQtMS0xLTEtMjY3NDM_5a4b826e-ab19-487a-ac0c-82b77dcd225e"
      unitRef="usd">9285000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzQtMy0xLTEtMjY3NDM_38e02b64-ab13-4b26-b2e2-4b930c55d10a"
      unitRef="usd">-15074000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzQtNS0xLTEtMjY3NDM_28992df3-478b-4d5f-b90b-0f069175569f"
      unitRef="usd">5702000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzUtMS0xLTEtMjY3NDM_5708190a-ef63-4268-ba6d-b7c7954cc781"
      unitRef="usd">19182000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzUtMy0xLTEtMjY3NDM_23c6ec15-859d-4215-8c6a-484efde59320"
      unitRef="usd">-48313000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxZGU3OWMwMTA2MmQ0YzFlYWFiODhkZTdkYjA0YzA3Ny90YWJsZXJhbmdlOjFkZTc5YzAxMDYyZDRjMWVhYWI4OGRlN2RiMDRjMDc3XzUtNS0xLTEtMjY3NDM_497dd164-c222-41c6-9116-68172980d496"
      unitRef="usd">47959000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NTU_4d319dbf-89d2-414c-8118-e6eeaa93db8f">&lt;div style="margin-bottom:6pt;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 provision for income taxes consisted of the following (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current -&lt;/span&gt;&lt;/td&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;&#160;&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: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;&#160;&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: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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(5,243)&lt;/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;(6,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 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;5,396&#160;&lt;/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 7.75pt;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;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(522)&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;(240)&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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,056&#160;&lt;/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;2,624&#160;&lt;/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;2,982&#160;&lt;/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 current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,709)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;(3,964)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Deferred -&lt;/span&gt;&lt;/td&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;&#160;&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;&#160;&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,016&#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;(10,567)&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,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,810&#160;&lt;/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,126)&lt;/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;(249)&lt;/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 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(686)&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;(1,039)&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;(1,283)&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 deferred&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;6,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current and deferred taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(18,696)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzQtMS0xLTEtMjY3NDM_37dc5423-4eca-47b6-b767-5f05dcb765d8"
      unitRef="usd">-5243000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzQtMy0xLTEtMjY3NDM_c9910569-e99c-4cb7-a31b-9395efaf3a47"
      unitRef="usd">-6348000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzQtNS0xLTEtMjY3NDM_9e459397-da91-478c-b2c3-cf0937ff024d"
      unitRef="usd">5396000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzUtMS0xLTEtMjY3NDM_729e8772-07cf-4539-b7b1-cca2564da44b"
      unitRef="usd">-522000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzUtMy0xLTEtMjY3NDM_489eccf1-db9a-495b-bba2-049d1bb39c1c"
      unitRef="usd">-240000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzUtNS0xLTEtMjY3NDM_8b36abfa-9359-4830-b4b7-c97390b55e26"
      unitRef="usd">1976000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzYtMS0xLTEtMjY3NDM_1b010303-3204-4407-862d-ccece6aee69d"
      unitRef="usd">3056000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzYtMy0xLTEtMjY3NDM_78dbf756-10da-40b1-a005-964e5e91c685"
      unitRef="usd">2624000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzYtNS0xLTEtMjY3NDM_14182d12-45df-4ddd-aabb-9736ca5bfc2a"
      unitRef="usd">2982000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzctMS0xLTEtMjY3NDM_1fadff1e-9faf-41e0-a83a-4ac44de292dc"
      unitRef="usd">-2709000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzctMy0xLTEtMjY3NDM_4770d3a2-8c5a-4b1a-be1b-e717b9e9b8ef"
      unitRef="usd">-3964000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzctNS0xLTEtMjY3NDM_9d1eb92e-9090-4596-ae36-15843d22396e"
      unitRef="usd">10354000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzktMS0xLTEtMjY3NDM_bfec445d-e791-47c5-935e-068fa7a2d9f2"
      unitRef="usd">5016000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzktMy0xLTEtMjY3NDM_aeba3212-e165-403e-b958-760811467fad"
      unitRef="usd">-10567000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzktNS0xLTEtMjY3NDM_f8589e71-62dd-4a33-8621-0a2be3e15818"
      unitRef="usd">2372000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEwLTEtMS0xLTI2NzQz_0f592b51-b2f1-4267-a4c2-7e492f7130d6"
      unitRef="usd">1810000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEwLTMtMS0xLTI2NzQz_ef616e34-c287-4e96-8b94-5d8304bb43e2"
      unitRef="usd">-3126000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEwLTUtMS0xLTI2NzQz_f15554f1-ae0c-4680-9444-c72eb3e159d3"
      unitRef="usd">-249000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzExLTEtMS0xLTI2NzQz_9fdca23f-95b5-4bd0-bc94-2fa7aeeaee6c"
      unitRef="usd">-686000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzExLTMtMS0xLTI2NzQz_5e5f3841-f58e-44a1-9624-6abdeca1a5a8"
      unitRef="usd">-1039000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzExLTUtMS0xLTI2NzQz_3a25af56-cce3-4b21-b0e1-34902c554c31"
      unitRef="usd">-1283000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEyLTEtMS0xLTI2NzQz_f37b82f5-5e33-4132-8976-bba2aa53d1ff"
      unitRef="usd">6140000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEyLTMtMS0xLTI2NzQz_6e253d34-3d69-4a69-8127-462c36e70c19"
      unitRef="usd">-14732000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEyLTUtMS0xLTI2NzQz_12bc5951-1214-4094-bbe7-080b604f5b0d"
      unitRef="usd">840000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEzLTEtMS0xLTI2NzQz_d29a0e4f-55ea-490e-a3e7-1cdac889dffd"
      unitRef="usd">3431000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEzLTMtMS0xLTI2NzQz_7f4ca09b-c980-4a84-aa73-044eca74e33a"
      unitRef="usd">-18696000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTpjZmQzMWNmYzk2NzY0YTZhOTgzZTYxOTYxM2FiYWFiNy90YWJsZXJhbmdlOmNmZDMxY2ZjOTY3NjRhNmE5ODNlNjE5NjEzYWJhYWI3XzEzLTUtMS0xLTI2NzQz_f13e582b-73c7-402c-bd05-fe08b3e88f41"
      unitRef="usd">11194000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NjY_fa883ee0-69db-48c2-a77b-8a13a3087e97">&lt;div style="margin-bottom:6pt;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 difference between income taxes computed at the statutory income tax rate and the provision for income taxes is as follows  (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income taxes computed at federal statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;4,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(10,146)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;10,029&#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="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;State income taxes, net of federal benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,625)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#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;(493)&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;311&#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="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;Nondeductible expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Enacted rate changes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;318&#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;670&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,036)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,324)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 tax credit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(57)&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="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;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Tax reform deferred tax remeasurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,587)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liability true up&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(551)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Uncertain tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;871&#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,057&#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;665&#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="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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(929)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 income tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(18,696)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzMtMS0xLTEtMjY3NDM_39f45c19-2bb5-4b74-94b9-37a831561212"
      unitRef="usd">4028000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzMtMy0xLTEtMjY3NDM_5886daca-6e22-4cc1-88c4-e82e69991763"
      unitRef="usd">-10146000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzMtNS0xLTEtMjY3NDM_32e370c7-b6f7-4040-ad6e-186e7329f792"
      unitRef="usd">10029000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzQtMS0xLTEtMjY3NDM_813660b4-2524-48de-98f5-8f2051fce6e2"
      unitRef="usd">1017000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzQtMy0xLTEtMjY3NDM_46553242-0c56-41de-9a1b-980deeca0d05"
      unitRef="usd">-2625000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzQtNS0xLTEtMjY3NDM_ba083357-50d8-426f-a254-1ffca3dc0505"
      unitRef="usd">1331000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzUtMS0xLTEtMjY3NDM_5b8ab5bf-2c69-4d9b-a090-fa9621ded850"
      unitRef="usd">186000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzUtMy0xLTEtMjY3NDM_2f46f00b-21c5-4dc1-a657-dd24ce1ba297"
      unitRef="usd">-493000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzUtNS0xLTEtMjY3NDM_11872309-0844-4f68-b751-73030b1efedf"
      unitRef="usd">311000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzYtMS0xLTEtMjY3NDM_0f58aaf9-937d-4656-9b8f-6a46c101a737"
      unitRef="usd">353000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzYtMy0xLTEtMjY3NDM_89cbe273-9405-41ec-a087-40c771e9331b"
      unitRef="usd">5617000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzYtNS0xLTEtMjY3NDM_1f0c5678-c07d-452c-8873-c18265796a51"
      unitRef="usd">1108000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzctMS0xLTEtMjY3NDM_9f210ff7-1a0b-437d-aba5-1578bf6f8d60"
      unitRef="usd">318000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzctMy0xLTEtMjY3NDM_e08f8af6-634b-4b2a-ae98-e4b61df6649b"
      unitRef="usd">670000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzctNS0xLTEtMjY3NDM_4738beba-670a-4799-96c6-a3d55d37dbc4"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzgtMS0xLTEtMjY3NDM_99066def-b42e-4abb-8635-de120e3675f6"
      unitRef="usd">1036000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzgtMy0xLTEtMjY3NDM_a0dde290-e3c8-4ba5-8e9b-57d21751c59d"
      unitRef="usd">16879000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzgtNS0xLTEtMjY3NDM_b370f532-1b47-41dc-aa37-318c28e59262"
      unitRef="usd">2324000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsForeign
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzktMS0xLTEtMjY3NDM_83486526-5ebd-40d2-b333-b35aa36a3db0"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationTaxCreditsForeign>
    <us-gaap:IncomeTaxReconciliationTaxCreditsForeign
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzktMy0xLTEtMjY3NDM_107fd315-4c05-4268-b9c5-7aeadf548bd3"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationTaxCreditsForeign>
    <us-gaap:IncomeTaxReconciliationTaxCreditsForeign
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzktNS0xLTEtMjY3NDM_09c5a7b3-3ba4-49b8-b235-b636de95722c"
      unitRef="usd">57000</us-gaap:IncomeTaxReconciliationTaxCreditsForeign>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEwLTEtMS0xLTI2NzQz_cd3b091b-e418-4209-9ed7-3d3bc03f5cf5"
      unitRef="usd">1000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEwLTMtMS0xLTI2NzQz_257f1eb4-ad64-49ce-a606-524d8ecd436e"
      unitRef="usd">16000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEwLTUtMS0xLTI2NzQz_ef4025c3-5a5d-4881-b523-06597fc692a7"
      unitRef="usd">-5000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActAmount
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzExLTEtMS0xLTI2NzQz_9e75df7c-0274-4230-b820-88a7b16a3f50"
      unitRef="usd">-2587000</dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActAmount>
    <dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActAmount
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzExLTMtMS0xLTI2NzQz_3210b348-2fd4-4082-bcd4-d00282d5093b"
      unitRef="usd">0</dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActAmount>
    <dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActAmount
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzExLTUtMS0xLTI2NzQz_5f45145c-d001-49ed-8fe1-5c3a88df6a90"
      unitRef="usd">0</dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActAmount>
    <dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActTransitionTaxOnAccumulatedForeignEarningsAmount
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEyLTEtMS0xLTI2NzQz_e0e11628-073e-462c-aa8b-0d82f55916e4"
      unitRef="usd">-62000</dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActTransitionTaxOnAccumulatedForeignEarningsAmount>
    <dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActTransitionTaxOnAccumulatedForeignEarningsAmount
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEyLTMtMS0xLTI2NzQz_119698b4-a411-49c7-b440-e83424b5a2b8"
      unitRef="usd">-551000</dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActTransitionTaxOnAccumulatedForeignEarningsAmount>
    <dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActTransitionTaxOnAccumulatedForeignEarningsAmount
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEyLTUtMS0xLTI2NzQz_93829b16-ed31-4639-adb0-f14c3a7dc52c"
      unitRef="usd">1065000</dxpe:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActTransitionTaxOnAccumulatedForeignEarningsAmount>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEzLTEtMS0xLTI2NzQz_3b48584d-a498-4f51-a1bf-6b0ac4df0b06"
      unitRef="usd">871000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEzLTMtMS0xLTI2NzQz_240c1e56-5d66-41e8-8b15-9d1cb7b30b39"
      unitRef="usd">5057000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzEzLTUtMS0xLTI2NzQz_a187b1b0-6ffc-4e75-bb97-ff5cbcdad5f9"
      unitRef="usd">665000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzE0LTEtMS0xLTI2NzQz_6e169a78-2cbf-4a79-8077-186c86f7b5f3"
      unitRef="usd">342000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzE0LTMtMS0xLTI2NzQz_91972dae-ac6c-4807-8f2b-6ebec2f09895"
      unitRef="usd">638000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzE0LTUtMS0xLTI2NzQz_b18b2c31-4e25-4b58-978d-41403c3617e9"
      unitRef="usd">-929000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzE1LTEtMS0xLTI2NzQz_5fa32450-866b-41c4-b714-c7971c778bc7"
      unitRef="usd">3431000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzE1LTMtMS0xLTI2NzQz_4966d873-6e8c-40c9-8b55-4e597818b5ed"
      unitRef="usd">-18696000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTczZTczZTM1YWE0ZGFmYWZkZjI2OWQwNzdiNTdjNi90YWJsZXJhbmdlOmU1NzNlNzNlMzVhYTRkYWZhZmRmMjY5ZDA3N2I1N2M2XzE1LTUtMS0xLTI2NzQz_cbb54629-8f3d-439a-850e-0ffb574f5f87"
      unitRef="usd">11194000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NTY_2b10ade8-e0f2-4f36-ad94-b519d1fe7c22">&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;Deferred tax liabilities and assets were comprised of the following (&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;in thousands&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;):&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:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;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;&#160;&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:2pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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,554&#160;&lt;/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,784&#160;&lt;/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 7.75pt;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;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,747&#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;7,072&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Federal general business credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,237&#160;&lt;/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;8,408&#160;&lt;/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 7.75pt;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;Texas research and development tax credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,679&#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;/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;&#160;&#160;&#160;Louisiana research and development tax credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239&#160;&lt;/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 7.75pt;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 tax credit carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#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;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Charitable Contribution Carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;531&#160;&lt;/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 7.75pt;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 operating loss carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;786&#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;802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Capital loss carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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,813&#160;&lt;/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 7.75pt;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;Deferred compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152&#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;540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,005&#160;&lt;/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,690&#160;&lt;/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 7.75pt;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;Business interest expense carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;389&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Investment in partnerships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(188)&lt;/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;319&#160;&lt;/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 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(29)&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;312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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 deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;22,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;37,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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 valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&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,813)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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 deferred tax asset, net of valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;22,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;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;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,474)&lt;/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;(8,570)&lt;/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 7.75pt;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;Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,813)&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,512)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,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;(7,569)&lt;/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 7.75pt;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;ROU asset and liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;226&#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;(323)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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;Unremitted foreign earnings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(421)&lt;/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;(421)&lt;/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 7.75pt;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;Method changes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(465)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;(754)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(618)&lt;/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;(619)&lt;/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 deferred tax liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;(7,516)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,777)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzMtMS0xLTEtMjY3NDM_81a7bb89-c3b2-424b-b2fa-2146ceb67775"
      unitRef="usd">1554000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzMtMy0xLTEtMjY3NDM_dde7e64c-cb13-4a06-9165-181b3e002d9c"
      unitRef="usd">1784000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzQtMS0xLTEtMjY3NDM_d071d611-82cf-4d1d-93e9-dfd3cbc9bed1"
      unitRef="usd">4747000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzQtMy0xLTEtMjY3NDM_5552aec3-abea-405f-bd45-dab84f2679a2"
      unitRef="usd">7072000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i167aef87482f40c3b47ea1ac8aa11012_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzUtMS0xLTEtMjY3NDM_b939ff7a-8fdb-4a16-b00a-b45762ebe359"
      unitRef="usd">4237000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="ia14f2401db40491b88136e43146c7c27_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzUtMy0xLTEtMjY3NDM_2c12d3ac-32a3-4f10-92e7-32e0a7bbc03e"
      unitRef="usd">8408000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i0caffaabc62f4f028b1dce1b86094309_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzYtMS0xLTEtMzYxODI_cf6487b9-6cc3-4d95-92d9-7181234955f0"
      unitRef="usd">2679000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i553a688e124440fe84331d9d51d7240d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzYtMy0xLTEtMzYxOTA_30146243-aa73-4675-a1b9-e7f5b2a5e125"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="ib69e215b298e49c8bfc74c44fa5d04e9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzctMS0xLTEtMzYxOTc_ccbb1f63-4537-4f1a-b8b8-84882233b0c9"
      unitRef="usd">239000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i7cd6d08683164178bfbc3b3d9618d669_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzctMy0xLTEtMzYxOTA_06e179a8-81d1-43f9-9104-66483a1bedea"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsForeign
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzYtMS0xLTEtMjY3NDM_c4bb3387-959f-4f00-ae32-ad7a920d74a6"
      unitRef="usd">64000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsForeign
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzYtMy0xLTEtMjY3NDM_4ce6a6de-80fa-41bd-a686-bc00ca9ba33b"
      unitRef="usd">64000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsCharitableContributionCarryforwards
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzctMS0xLTEtMzQ0NjM_eae71541-cbdf-4676-8f76-e12abdc6d3df"
      unitRef="usd">531000</us-gaap:DeferredTaxAssetsCharitableContributionCarryforwards>
    <us-gaap:DeferredTaxAssetsCharitableContributionCarryforwards
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzctMy0xLTEtMzQ0NjM_2a429d51-e427-40a0-9129-d98e18e42c5f"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsCharitableContributionCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzctMS0xLTEtMjY3NDM_9f928212-b675-49b4-9b99-89b32e1cd1de"
      unitRef="usd">786000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzctMy0xLTEtMjY3NDM_b1f5d783-2b6f-43bf-b2e7-27e14f8b528e"
      unitRef="usd">802000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzgtMS0xLTEtMjY3NDM_511ac523-1f7b-400c-9e3f-074b561298a5"
      unitRef="usd">4000</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzgtMy0xLTEtMjY3NDM_557f2192-d8a0-4da1-b8b8-923855f4ad7a"
      unitRef="usd">12813000</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzktMS0xLTEtMjY3NDM_1dbe1330-f7b6-4044-9371-3220a04e5621"
      unitRef="usd">152000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzktMy0xLTEtMjY3NDM_1b5fbfd0-3025-43cb-bbcc-e1e5bff20056"
      unitRef="usd">540000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEwLTEtMS0xLTI2NzQz_6453b413-e90b-4f2a-ac51-f53c647288c5"
      unitRef="usd">7005000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEwLTMtMS0xLTI2NzQz_8e1f1d22-29eb-4ce2-bf11-2d37bd28c2a6"
      unitRef="usd">5690000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsGeneralBusiness
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEyLTEtMS0xLTM0NDY3_57908d0d-8941-488f-a6a1-ef8b5f0a212b"
      unitRef="usd">389000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsGeneralBusiness>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsGeneralBusiness
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEyLTMtMS0xLTM0NDY3_a503bac6-03f3-431c-8add-20b59c395335"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsGeneralBusiness>
    <us-gaap:DeferredTaxAssetsInvestmentInSubsidiaries
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzExLTEtMS0xLTI2NzQz_a8b75c78-0370-4516-8c49-0f4a694d481f"
      unitRef="usd">-188000</us-gaap:DeferredTaxAssetsInvestmentInSubsidiaries>
    <us-gaap:DeferredTaxAssetsInvestmentInSubsidiaries
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzExLTMtMS0xLTI2NzQz_c6f5a61b-3141-4820-8b42-b5ffc8abd548"
      unitRef="usd">319000</us-gaap:DeferredTaxAssetsInvestmentInSubsidiaries>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEyLTEtMS0xLTI2NzQz_32cd634b-5b40-49d2-b60b-f65a082535e1"
      unitRef="usd">-29000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEyLTMtMS0xLTI2NzQz_52abe3e3-2bbb-4a7b-a8a9-eeb4557861b9"
      unitRef="usd">312000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEzLTEtMS0xLTI2NzQz_5ebbb730-0490-4458-895c-57b7f8ddd302"
      unitRef="usd">22170000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzEzLTMtMS0xLTI2NzQz_23d2b6c6-0a5e-4764-a81c-ea9668bd4d68"
      unitRef="usd">37804000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE0LTEtMS0xLTI2NzQz_0d88c68f-3179-40af-bf25-0c294116e4c5"
      unitRef="usd">4000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE0LTMtMS0xLTI2NzQz_8b174bf0-be0f-4958-a3cf-be61ee1e4bbb"
      unitRef="usd">12813000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE1LTEtMS0xLTI2NzQz_791ef6dd-5125-44e4-ae4c-735431faabfe"
      unitRef="usd">22166000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE1LTMtMS0xLTI2NzQz_2f78e7fb-c403-4edf-a6ca-f7b6e5fb7d6e"
      unitRef="usd">24991000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE2LTEtMS0xLTI2NzQz_bfde6d8c-d4ce-4dcb-90c6-7007f109942f"
      unitRef="usd">13474000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE2LTMtMS0xLTI2NzQz_420c598d-8f05-4a15-b328-3f47dbc6adfb"
      unitRef="usd">8570000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE3LTEtMS0xLTI2NzQz_4e1e0079-ace0-4534-8d67-ee90a8c2b678"
      unitRef="usd">6813000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE3LTMtMS0xLTI2NzQz_2dd4c231-6365-4683-86e8-217fa07e605a"
      unitRef="usd">8512000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE4LTEtMS0xLTI2NzQz_4b9b626a-47cd-42ea-9e7d-539754479e64"
      unitRef="usd">8117000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE4LTMtMS0xLTI2NzQz_7a62fd96-43e4-4a3b-b0a3-4235cf836e0f"
      unitRef="usd">7569000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <dxpe:DeferredTaxLiabilitiesROUAssetAndLiability
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE5LTEtMS0xLTI2NzQz_07b72572-a15d-4f56-b0a8-f3f1bdbc0ade"
      unitRef="usd">-226000</dxpe:DeferredTaxLiabilitiesROUAssetAndLiability>
    <dxpe:DeferredTaxLiabilitiesROUAssetAndLiability
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzE5LTMtMS0xLTI2NzQz_d1397bc8-a473-425d-aa69-769ec567d5ba"
      unitRef="usd">323000</dxpe:DeferredTaxLiabilitiesROUAssetAndLiability>
    <us-gaap:DeferredTaxLiabilitiesUndistributedForeignEarnings
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzIwLTEtMS0xLTI2NzQz_9e991316-0dc3-4540-b28b-b0d5551c3caf"
      unitRef="usd">421000</us-gaap:DeferredTaxLiabilitiesUndistributedForeignEarnings>
    <us-gaap:DeferredTaxLiabilitiesUndistributedForeignEarnings
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzIwLTMtMS0xLTI2NzQz_7b8762a4-6ed3-4c61-b83b-6fa0ccfe1a60"
      unitRef="usd">421000</us-gaap:DeferredTaxLiabilitiesUndistributedForeignEarnings>
    <dxpe:DeferredTaxLiabilitiesAccountingMethodChangesAdjustments
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzIyLTEtMS0xLTI2NzQz_8fbe6d61-f739-4e3f-abc5-4f7076870025"
      unitRef="usd">465000</dxpe:DeferredTaxLiabilitiesAccountingMethodChangesAdjustments>
    <dxpe:DeferredTaxLiabilitiesAccountingMethodChangesAdjustments
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzIyLTMtMS0xLTI2NzQz_5075f032-32e5-49ca-955b-120a8e855500"
      unitRef="usd">754000</dxpe:DeferredTaxLiabilitiesAccountingMethodChangesAdjustments>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzIzLTEtMS0xLTI2NzQz_7d55c22d-071e-4154-8694-70f6a60a756e"
      unitRef="usd">618000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzIzLTMtMS0xLTI2NzQz_c1117b4d-c633-424c-a4a2-07e9e8f531a7"
      unitRef="usd">619000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzI0LTEtMS0xLTI2NzQz_4882c5f6-6468-4c16-9356-8bba0f8e7bae"
      unitRef="usd">7516000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTplNTU4Mzg1NDc4OTQ0ZTFmYWYwYzA5NGU5NDI5NjQ1OC90YWJsZXJhbmdlOmU1NTgzODU0Nzg5NDRlMWZhZjBjMDk0ZTk0Mjk2NDU4XzI0LTMtMS0xLTI2NzQz_cbdc7b45-b6d3-43b0-838a-4ed8f314987f"
      unitRef="usd">1777000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NjA_1c4cbb50-31f6-485f-9262-555bc41b566a">&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 summarizes changes in the balance of valuation allowances on deferred tax assets (in thousands):&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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.029%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.438%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.415%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.287%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&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 at January 1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,813)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,564)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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;Changes due to federal and foreign capital loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,809&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(450)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 at December 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;(4)&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;(12,813)&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;(12,363)&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;/table&gt;&lt;/div&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i70b1ec4c7cf54978bc6747eee2ddf87f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzItMS0xLTEtMjY3NDM_c2c528e2-cb97-498b-9ee8-82170f592b6a"
      unitRef="usd">12813000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i4a77493ae0d24babb27b2043a4746b21_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzItMy0xLTEtMjY3NDM_5e72daf9-e583-45de-90bf-27f55c558bad"
      unitRef="usd">12363000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ib0a121a5a01342e3aa7cda144e41bfc7_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzItNS0xLTEtMjY3NDM_25828b85-49d8-4bc0-93c0-5431a2f26717"
      unitRef="usd">12564000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="i722f88168e0c4923952b6f15b1d96ce8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzMtMS0xLTEtMjY3NDM_6286ce28-8f33-4d55-b5c1-b5644bc78c6d"
      unitRef="usd">12809000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="iac6780365f3a4aeba1272cf438528d22_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzMtMy0xLTEtMjY3NDM_26ea5965-8f0f-4f81-958a-2e3c12bf1f0e"
      unitRef="usd">-450000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="ife12d11fb0c043239c6ebb186344f759_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzMtNS0xLTEtMjY3NDM_50d7fd82-7e53-40a8-92ee-74031fbf4b0d"
      unitRef="usd">201000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i03d33e217a3a4015a657b326ad01ebae_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzQtMS0xLTEtMjY3NDM_bda96428-28cd-425d-8253-01e9c2056ef2"
      unitRef="usd">4000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i70b1ec4c7cf54978bc6747eee2ddf87f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzQtMy0xLTEtMjY3NDM_6527dd44-d8ec-4b2c-a6cb-7f0c8d4ee363"
      unitRef="usd">12813000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i4a77493ae0d24babb27b2043a4746b21_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZToxNWFhYzk4ZDcxYTk0YWRlOTFmYjFlZDc2ZTRiNWIxZi90YWJsZXJhbmdlOjE1YWFjOThkNzFhOTRhZGU5MWZiMWVkNzZlNGI1YjFmXzQtNS0xLTEtMjY3NDM_6ddff1b4-d45d-40f9-b9dc-f47ab4087b4a"
      unitRef="usd">12363000</us-gaap:ValuationAllowancesAndReservesBalance>
    <dxpe:SummaryOfOperatingLossCarryforwardsAndTaxCreditCarryforwardsTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NjQ_362f74de-a1f1-48d0-a389-16a1d0f51567">&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;Tax carryforwards available for use on future income tax returns, prior to valuation allowance, at December 31, 2021, were as follows (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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.111%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.921%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.311%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160; &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;Expiration&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;Net operating loss - foreign&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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-top:2pt 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:2pt 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:2pt 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;453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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-top:2pt solid #000;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;2034 - 2041&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align: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 operating loss - federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2036 - 2040&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;Capital loss carryforward - foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;4&#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="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital loss carryforward - federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64&#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="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;2023, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal general business tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2026 - 2030&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;Texas research and development tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,679&#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="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;2037 - 2040&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Louisiana research and development tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;2024 - 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</dxpe:SummaryOfOperatingLossCarryforwardsAndTaxCreditCarryforwardsTableTextBlock>
    <us-gaap:OperatingLossCarryforwards
      contextRef="if6ef4e158b3340d9a6809a5ea58d31d3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzEtMy0xLTEtMjY3NDM_aa9e8ae2-b8c5-4532-92ae-0fc3f744b17b"
      unitRef="usd">453000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i167aef87482f40c3b47ea1ac8aa11012_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzItMS0xLTEtMjY3NDM_c3eaa8ab-ef16-4887-8ef1-29ffea32f30d"
      unitRef="usd">332000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="ied1706b9cad74c319e6ee50603c0cea8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzMtMy0xLTEtMjY3NDM_2e8f0f8d-4e09-4b27-b047-ac291749c185"
      unitRef="usd">4000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="id1a96b1d50a244309774658fda20d5ef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzQtMS0xLTEtMjY3NDM_3d9eca1c-906e-47eb-97fe-54c24cd8f03c"
      unitRef="usd">0</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i793a49b7965743cb8271db3b24d26309_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzUtMS0xLTEtMjY3NDM_2b6102be-d450-405d-8b74-c3bb199dbd5d"
      unitRef="usd">64000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i5306fd0a8f7c434883d6a13d46df6248_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzYtMS0xLTEtMjY3NDM_338cf0d6-6a0c-46c3-8652-8ede61115dc3"
      unitRef="usd">4237000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="ia95518aa9ec948d891d1c0bee9126036_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzctMS0xLTEtMjY3NDM_566188e3-813c-4092-8d9f-ec3940cf43f8"
      unitRef="usd">2679000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i4ce2e9d9d01a4ee5a4920634e4783b8f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo4ZWE0Y2QwYjk4NWQ0Mzc5YTc1OWJkNmJjZDE3ODg3MC90YWJsZXJhbmdlOjhlYTRjZDBiOTg1ZDQzNzlhNzU5YmQ2YmNkMTc4ODcwXzgtMS0xLTEtMjY3NDM_77539326-f8ee-4a33-afea-dd14a3788426"
      unitRef="usd">239000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:SummaryOfIncomeTaxContingenciesTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzI3NTc_71304d90-6761-45fd-9f71-0bf602e8a663">&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:107%"&gt;Changes in the balance of unrecognized tax benefits excluding interest and penalties on uncertain tax positions were as follows (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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.968%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.968%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.732%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Assets (Liabilities)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019&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 at January 1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;(5,057)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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-top:2pt 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:2pt 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:2pt 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-top:2pt 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="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;&#160;&#160;&#160;Increases related to prior year tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(687)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,057)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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;&#160;&#160;&#160;Decreases related to prior year tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;&#160;&#160;&#160;Increases related to current year tax positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(572)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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;&#160;&#160;&#160;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;&#160;&#160;&#160;Lapse of statute of limitations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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="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 at December 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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,316)&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;(5,057)&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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SummaryOfIncomeTaxContingenciesTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzItMS0xLTEtMjY3NDM_f667b959-f971-4c7e-9247-5bf289ce3056"
      unitRef="usd">5057000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzItMy0xLTEtMjY3NDM_fff8bb2a-11a8-473d-b776-f78329a4a916"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i23fdb78e0ab04d078d1a10b84ef9ce5d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzItNS0xLTEtMjY3NDM_3ac3f588-9d88-40af-9905-20d2246bbac5"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzMtMS0xLTEtMjY3NDM_b7213a91-d0c3-40ca-8c7c-ba43f5889d52"
      unitRef="usd">687000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzMtMy0xLTEtMjY3NDM_f2f3faad-1ebd-4539-9988-35b72dfd021f"
      unitRef="usd">5057000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzMtNS0xLTEtMjY3NDM_ffd20b50-e4f6-419a-b1b8-6d5a03d58892"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzQtMS0xLTEtMjY3NDM_a3f9b7b0-99eb-43a5-be24-a68939a49208"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzQtMy0xLTEtMjY3NDM_8a123268-1d4b-4f67-9e42-2d2390ddd0ab"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzQtNS0xLTEtMjY3NDM_a4301a42-4f5a-4b58-ada2-226fccea94f9"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzUtMS0xLTEtMjY3NDM_77da197a-6ff4-4e78-8dfa-63ed33805be2"
      unitRef="usd">572000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzUtMy0xLTEtMjY3NDM_7e1ea58f-33e7-473c-8fe6-da71ade2e47c"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzUtNS0xLTEtMjY3NDM_ec97cf28-b3d9-4312-9aa6-9a98a1789df4"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzYtMS0xLTEtMjY3NDM_2fcb9baa-70c8-4537-84c0-43b1a7d294c6"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzYtMy0xLTEtMjY3NDM_789b1556-62a4-4af7-9506-58249295c938"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzYtNS0xLTEtMjY3NDM_7d6d62d1-97a8-4b9a-ad38-be3b431e1c69"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzctMS0xLTEtMjY3NDM_607d9d4b-1fd0-45ee-83b3-d3e29cb8811c"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzctMy0xLTEtMjY3NDM_32c994ac-dd48-4c8e-9e71-bff54e8128be"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzctNS0xLTEtMjY3NDM_684ec0e7-4168-4d37-9fbc-6016e9aefc1a"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzgtMS0xLTEtMjY3NDM_7f43246b-7bf7-4522-9441-7c0426fb4768"
      unitRef="usd">6316000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzgtMy0xLTEtMjY3NDM_4f187323-074c-48a6-912d-f7b1a8dc444f"
      unitRef="usd">5057000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90YWJsZTo2Njc1ZTk1MWM3ZTA0ODA5YTljN2UzZDdkNjYxYWVmNS90YWJsZXJhbmdlOjY2NzVlOTUxYzdlMDQ4MDlhOWM3ZTNkN2Q2NjFhZWY1XzgtNS0xLTEtMjY3NDM_5113dc28-5e81-4464-904c-f7f5998f81c8"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i8e982ccdc3e14571996c6b5fd533aa9e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzE2ODU_3c07de38-d53e-4e1f-82a8-65a42fbfce9f"
      unitRef="usd">-25000000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzE3OTE_eb23d3a2-f330-4d00-bad5-c9043ba889e5"
      unitRef="usd">6300000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMDkvZnJhZzpkZTUyODc0ODczOGU0ZDlhYjQ3MGU2MjNiNDdmM2RiYy90ZXh0cmVnaW9uOmRlNTI4NzQ4NzM4ZTRkOWFiNDcwZTYyM2I0N2YzZGJjXzIyMTI_b0c7adb7-defb-4c06-bd7d-f654e1ca9ca6"
      unitRef="usd">0</us-gaap:IncomeTaxExaminationPenaltiesAndInterestExpense>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzI0NDM_60787956-f75a-48eb-85a6-a58ddb0230c8">SHARE-BASED COMPENSATION&lt;div&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;Restricted Stock&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We issued equity-based awards from the 2016 Omnibus Plan.  &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-style:italic;font-weight:700;line-height:120%"&gt;2016 Omnibus Incentive Plan&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 June 19, 2019, our shareholders approved an amendment to the DXP Enterprises, Inc. 2016 Omnibus Incentive Plan (the &#x201c;2016 Plan&#x201d;) to increase the number of shares that can be issued under the 2016 Plan from 500,000 shares to a total of 1,000,000 shares, which represents an increase of 500,000 shares (the &#x201c;Amendment&#x201d;), which authorized grants of restricted stock awards, restricted stock units (&#x201c;RSUs&#x201d;), performance awards, options, investment rights, and cash-based awards. This plan authorizes the issuance of up to 1,000,000 shares of our common stock. &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 2016 Omnibus Plan approved by our shareholders, directors, consultants and employees may be awarded shares of DXP&#x2019;s common stock. The shares of restricted stock awards granted to employees that are outstanding as of December&#160;31, 2021 vest in accordance with one of the following vesting schedules: 100% one year after the grant date; 50% each year for two years after the grant; 33.3% each year for three years after the grant date; 20% each year for five years after the grant date; or 10% each year for ten years after the date of grant. The shares of restricted stock awards granted to non-employee directors of DXP vest one year after the grant date. The fair value of restricted stock awards is measured based upon the closing prices of DXP&#x2019;s common stock on the grant dates and is recognized as compensation expense over the vesting period of the awards. Once restricted stock vests, new shares of the Company&#x2019;s stock are issued.&#160;At December&#160;31, 2021, 559,024 shares were available for future grant.&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:6pt"&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 restricted stock awards for the twelve months ended December&#160;31, 2021 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of&lt;br/&gt;Shares&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:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Price&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;Non-vested at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;166,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,600)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Non-vested at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;112,044&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;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;31.72&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&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 restricted stock awards for the twelve months ended December&#160;31, 2020 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of&lt;br/&gt;Shares&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:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Price&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;Non-vested at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;144,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.91&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,794)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;28.61&#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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(60,779)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Non-vested at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;166,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;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;32.53&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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 restricted stock awards for the twelve months ended December&#160;31, 2019 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of&lt;br/&gt;Shares&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:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Price&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;Non-vested at December 31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;169,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;31.05&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,720)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;32.35&#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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,208)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Non-vested at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;144,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;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;32.71&#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;/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;Compensation expense, associated with restricted stock awards, recognized in the years ended December&#160;31, 2021, December&#160;31, 2020 and December&#160;31, 2019 was $1.8 million, $3.5 million, and $2.0 million, respectively. Related income tax benefits recognized in earnings in the years ended December&#160;31, 2021, December&#160;31, 2020 and December&#160;31, 2019 were approximately $0.5 million, $0.9 million and $0.5 million, respectively. Unrecognized compensation expense under the DXP Enterprises, Inc. 2016 Omnibus  Plan at December&#160;31, 2021, December&#160;31, 2020 and December&#160;31, 2019 was $2.1 million, $2.2 million and $3.0 million, respectively. As of December&#160;31, 2021, the weighted average period over which the unrecognized compensation expense is expected to be recognized is 1.2 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i45faba09c94a468b874e4055f7d92e61_I20160620"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzM1OA_839cc38e-746a-4a1b-b08b-428b6e31bad7"
      unitRef="shares">500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i6803bc28f3fc438e97216033bd24c6f0_I20190619"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzM4Mg_24da4261-2800-4362-86ce-c160dfbee6b6"
      unitRef="shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="ibaa9650649244fc895e3ee245103b892_D20190619-20190619"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzQyNQ_87171b8b-83c7-487b-91a0-21b01d9ca75a"
      unitRef="shares">500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="idca775b6fc374362925bdbfc01647677_I20190619"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzY1Mw_6aed0f56-648f-45df-837b-87c130413827"
      unitRef="shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <dxpe:PercentagesOfVestingInPeriodOne
      contextRef="ibb91d2eea3e24d859489b1735177ba07_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzk3OQ_bef1bf82-de89-4a26-93ca-c36d55c593e6"
      unitRef="number">1</dxpe:PercentagesOfVestingInPeriodOne>
    <dxpe:PercentagesOfVestingInPeriodTwo
      contextRef="ibb91d2eea3e24d859489b1735177ba07_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzEwMTM_598a0afa-3f79-4dcb-b0b4-905db34fdde0"
      unitRef="number">0.50</dxpe:PercentagesOfVestingInPeriodTwo>
    <dxpe:PercentagesOfVestingInPeriodThree
      contextRef="ibb91d2eea3e24d859489b1735177ba07_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzEwNTc_08b97bbf-a759-4a2a-b95c-3808442cbb69"
      unitRef="number">0.333</dxpe:PercentagesOfVestingInPeriodThree>
    <dxpe:PercentagesOfVestingInPeriodFour
      contextRef="ibb91d2eea3e24d859489b1735177ba07_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzExMDg_f38a37b6-13d0-4761-a1c4-143f6313188d"
      unitRef="number">0.20</dxpe:PercentagesOfVestingInPeriodFour>
    <dxpe:PercentagesOfVestingInPeriodFive
      contextRef="ibb91d2eea3e24d859489b1735177ba07_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzExNjE_e5f42d93-91d3-4ee4-bd19-51a5bc6333ab"
      unitRef="number">0.10</dxpe:PercentagesOfVestingInPeriodFive>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="id70566a9b42b4033835384dc108f1e48_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzEyOTc_b9f12bf4-58e9-4d7f-8db5-aab13028d31c">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="if4268c3313d54dad8de36b366247be1a_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzE2MTA_d5276c6f-fe41-433a-afa3-4b0d07e93aec"
      unitRef="shares">559024</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfUnvestedRestrictedStockUnitsRollForwardTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzI0NDQ_52e587cd-401a-47a8-a6a4-7605d7a6ad73">&lt;div style="margin-bottom:6pt"&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 restricted stock awards for the twelve months ended December&#160;31, 2021 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of&lt;br/&gt;Shares&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:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Price&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;Non-vested at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;166,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,600)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Non-vested at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;112,044&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;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;31.72&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&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 restricted stock awards for the twelve months ended December&#160;31, 2020 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of&lt;br/&gt;Shares&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:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Price&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;Non-vested at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;144,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.91&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,794)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;28.61&#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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(60,779)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Non-vested at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;166,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;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;32.53&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;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 restricted stock awards for the twelve months ended December&#160;31, 2019 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of&lt;br/&gt;Shares&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:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant Price&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;Non-vested at December 31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;169,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;31.05&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,720)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;32.35&#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="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="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,208)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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;Non-vested at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;144,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;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;32.71&#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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnvestedRestrictedStockUnitsRollForwardTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="iffebe8f1919e4698889bcc92a536b085_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzEtMS0xLTEtMjY3NDM_59d2330a-d6b2-4e8e-a532-58d7c54a9d8d"
      unitRef="shares">166976</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iffebe8f1919e4698889bcc92a536b085_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzEtMy0xLTEtMjY3NDM_21707273-9f9b-421c-a45b-1aa2d3e0a238"
      unitRef="usdPerShare">32.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzItMS0xLTEtMjY3NDM_ee97c962-0173-478a-84ac-a88566b47bd6"
      unitRef="shares">53668</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzItMy0xLTEtMjY3NDM_22e578fa-3c09-4375-a768-7c1d9c5728e0"
      unitRef="usdPerShare">30.95</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzMtMS0xLTEtMjY3NDM_901fe34e-fa02-4277-a83f-9c8ab1682651"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzMtMy0xLTEtMjY3NDM_293407d5-65e9-4a8d-a1b7-ecf81cfb13ff"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzQtMS0xLTEtMjY3NDM_766898d5-0ad4-4923-afd0-104c2935541c"
      unitRef="shares">108600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzQtMy0xLTEtMjY3NDM_570a231d-87a8-472c-83d8-06c95db8dbeb"
      unitRef="usdPerShare">32.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i269c696a4a8747399b8330d8d85812f6_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzUtMS0xLTEtMjY3NDM_ac211293-74a1-4879-b631-bb456435591c"
      unitRef="shares">112044</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i269c696a4a8747399b8330d8d85812f6_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo2MzdhZWE5ZjI3NGU0YjQzOTI1ZTZjYWQ5NTRlMjVmYS90YWJsZXJhbmdlOjYzN2FlYTlmMjc0ZTRiNDM5MjVlNmNhZDk1NGUyNWZhXzUtMy0xLTEtMjY3NDM_0b0732dc-d1a5-4035-9d89-3905272baaac"
      unitRef="usdPerShare">31.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i8943c69e8d3d416788b8a4035cf543e2_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzEtMS0xLTEtMjY3NDM_2dd7500e-8bca-4a40-be5d-9e2eec86a3d7"
      unitRef="shares">144250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i8943c69e8d3d416788b8a4035cf543e2_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzEtMy0xLTEtMjY3NDM_9fe020be-0070-45e6-a230-4250070c217d"
      unitRef="usdPerShare">32.71</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzItMS0xLTEtMjY3NDM_4ca68ad5-c5e3-42de-b085-eb8833e76b2e"
      unitRef="shares">100299</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzItMy0xLTEtMjY3NDM_e389bc63-98fc-488f-9f4f-5e2336236832"
      unitRef="usdPerShare">30.91</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzMtMS0xLTEtMjY3NDM_9e2c19b4-5c97-4fff-be97-eacd90e97332"
      unitRef="shares">16794</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzMtMy0xLTEtMjY3NDM_d5a2c839-b4b2-41c4-a37e-e2a7a82a2b0e"
      unitRef="usdPerShare">28.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzQtMS0xLTEtMjY3NDM_c2036a74-2f1f-4830-b4a7-88bf6c5e7b33"
      unitRef="shares">60779</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzQtMy0xLTEtMjY3NDM_24d19fd3-7f50-4d16-9e74-e4d4e7388bdc"
      unitRef="usdPerShare">31.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="iffebe8f1919e4698889bcc92a536b085_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzUtMS0xLTEtMjY3NDM_cf77ce53-c512-4e9d-88a3-d09cf3d29c8f"
      unitRef="shares">166976</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iffebe8f1919e4698889bcc92a536b085_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTo5MDAxMzhjOWNlMTI0M2JiYWY2Y2IwMDI0ZGU0ZTg3Yy90YWJsZXJhbmdlOjkwMDEzOGM5Y2UxMjQzYmJhZjZjYjAwMjRkZTRlODdjXzUtMy0xLTEtMjY3NDM_8f8d1b38-a5ab-4964-a953-73a2fdac3e43"
      unitRef="usdPerShare">32.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ie8e37d1db57b4e40bd38273dd98ff5c1_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzEtMS0xLTEtMjY3NDM_a84cc933-1719-45a7-ae7e-91ce45ffe2ce"
      unitRef="shares">169293</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ie8e37d1db57b4e40bd38273dd98ff5c1_I20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzEtMy0xLTEtMjY3NDM_79473c00-ba3c-4eb2-bbca-981c87ad472b"
      unitRef="usdPerShare">31.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzItMS0xLTEtMjY3NDM_e0293258-e1c7-40d2-95e3-c316fd0c810f"
      unitRef="shares">46885</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzItMy0xLTEtMjY3NDM_a434fe72-0ce6-462f-9e9c-79cb9f42de0d"
      unitRef="usdPerShare">35.60</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzMtMS0xLTEtMjY3NDM_efe2eb53-cea0-44c3-b44e-6b92b210e967"
      unitRef="shares">5720</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzMtMy0xLTEtMjY3NDM_d9fbc8a7-ee8c-4ab9-93ac-cb134b8549ce"
      unitRef="usdPerShare">32.35</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzQtMS0xLTEtMjY3NDM_d055992a-0fe5-4393-a26a-bd7b08ff0405"
      unitRef="shares">66208</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzQtMy0xLTEtMjY3NDM_f1f2ba77-dd8d-478e-9140-ca4168516bf6"
      unitRef="usdPerShare">27.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i8943c69e8d3d416788b8a4035cf543e2_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzUtMS0xLTEtMjY3NDM_d657411a-3eff-4878-8a81-e8af152c0ffb"
      unitRef="shares">144250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i8943c69e8d3d416788b8a4035cf543e2_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90YWJsZTpmMmZlZGE1MmI3NWQ0ZTcwOTFkMjQwZjU3MDVjZDE5ZC90YWJsZXJhbmdlOmYyZmVkYTUyYjc1ZDRlNzA5MWQyNDBmNTcwNWNkMTlkXzUtMy0xLTEtMjY3NDM_328a515f-1f5b-4569-a6ff-5c8ec2a12a2b"
      unitRef="usdPerShare">32.71</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIwMjM_12d79f32-cf12-49dd-9c1f-d84ef71e3f3e"
      unitRef="usd">1800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIwMjc_dcc5af26-da20-408b-bc72-ca664c55c550"
      unitRef="usd">3500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIwMzU_d707fa0c-4c00-4356-a393-fdf9fb256c95"
      unitRef="usd">2000000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i2c128dadb4ee442ebddfa2fdf679d6c2_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIxNTY_8626a330-922b-4c47-b349-56c3d4e76372"
      unitRef="usd">500000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i0f9920883a704aedbada7d784d5db659_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIxNjA_f2867716-ebd5-4ee4-9531-5362e9a5c19b"
      unitRef="usd">900000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="iaeebb9c68e0645359f60a088c873df9c_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIxNjc_7d403d67-b19c-4916-81cc-058c9eacb00e"
      unitRef="usd">500000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ib8f9ac823700497cbf3a1d6bce6f4d21_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIyOTE_594f561b-5aee-47fc-af82-a52765759ed5"
      unitRef="usd">2100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ic454664c21f64588bdda2ee500ab1873_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIyOTU_6cc35eba-507c-46c1-8851-bc31bc55843a"
      unitRef="usd">2200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i25fe6b00b7aa4c2baf11fbe5c9ff2ef2_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzIzMDI_54399208-c191-4ce0-ad6d-c55f16b55b3d"
      unitRef="usd">3000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTIvZnJhZzoxNmZmNmRjYzUwNzE0NjQ5OWVhZTM1NGJlZDM3NDU0My90ZXh0cmVnaW9uOjE2ZmY2ZGNjNTA3MTQ2NDk5ZWFlMzU0YmVkMzc0NTQzXzI0Mzk_fe8e24e3-4ccc-4a73-af95-28729c6303f5">P1Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90ZXh0cmVnaW9uOmY3ZmQ5OTNmMGYzZTRiZDBiMjgxOTQyNzUxMWVmMGNjXzEwNzc_41ae86cb-1f0e-4528-9aa2-25ac71edd129">EARNINGS PER SHARE DATA&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;Basic earnings per share is computed based on weighted average shares outstanding and excludes dilutive securities. Diluted earnings per share is computed including the impacts of all potentially dilutive securities. &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:6pt;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 earnings per share for the periods indicated (&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;in thousands, except per share data&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;Basic:&lt;/span&gt;&lt;/td&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;&#160;&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,949&#160;&lt;/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;17,748&#160;&lt;/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;17,592&#160;&lt;/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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;padding:0 1pt"/&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 income (loss) attributable to DXP Enterprises, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,496&#160;&lt;/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;(29,269)&lt;/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;37,025&#160;&lt;/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;Convertible preferred stock dividend&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(90)&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;(90)&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;(90)&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;Net income (loss) attributable to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;(29,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;36,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Per share amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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;0.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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.65)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/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;Diluted:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,949&#160;&lt;/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;17,748&#160;&lt;/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;17,592&#160;&lt;/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;Assumed conversion of convertible preferred stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;840&#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;840&#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;Total dilutive shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:2pt 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,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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:2pt 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;17,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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:2pt 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;18,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 income (loss) attributable to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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;(29,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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;36,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#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;Convertible preferred stock dividend&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/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;90&#160;&lt;/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;Net income (loss) attributable to DXP Enterprises, Inc. &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;(29,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;37,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Per share amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #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:3pt double #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;0.83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #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:3pt double #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.65)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #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:3pt double #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.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #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;Basic earnings per share have been computed by dividing net income (loss) attributable to common shareholders by the weighted average number of common shares outstanding during the period and excludes dilutive securities. Diluted earnings per share reflects the potential dilution that could occur if the preferred stock was converted into common stock. Restricted stock is considered a participating security and is included in the computation of basic earnings per share as if vested. The preferred stock is convertible into 840,000 shares of common stock. For the twelve months ended December 31, 2021, we excluded from the diluted EPS calculation 840,000 convertible preferred shares, respectively, since the effect would have been antidilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90ZXh0cmVnaW9uOmY3ZmQ5OTNmMGYzZTRiZDBiMjgxOTQyNzUxMWVmMGNjXzEwNzg_99537168-3594-4f6c-b027-35fc1464e752">&lt;div style="margin-bottom:6pt;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 earnings per share for the periods indicated (&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;in thousands, except per share data&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;Basic:&lt;/span&gt;&lt;/td&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;&#160;&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,949&#160;&lt;/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;17,748&#160;&lt;/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;17,592&#160;&lt;/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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;padding:0 1pt"/&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 income (loss) attributable to DXP Enterprises, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,496&#160;&lt;/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;(29,269)&lt;/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;37,025&#160;&lt;/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;Convertible preferred stock dividend&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(90)&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;(90)&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;(90)&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;Net income (loss) attributable to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;(29,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;36,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Per share amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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;0.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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.65)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/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;Diluted:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,949&#160;&lt;/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;17,748&#160;&lt;/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;17,592&#160;&lt;/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;Assumed conversion of convertible preferred stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;840&#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;840&#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;Total dilutive shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:2pt 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,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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:2pt 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;17,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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:2pt 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;18,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 income (loss) attributable to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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;(29,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #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;36,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#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;Convertible preferred stock dividend&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/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;90&#160;&lt;/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;Net income (loss) attributable to DXP Enterprises, Inc. &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;(29,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;37,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Per share amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #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:3pt double #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;0.83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #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:3pt double #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.65)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #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:3pt double #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.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzQtMS0xLTEtMjY3NDM_dd7b382f-c0ea-4fc4-b71f-f7c5da32d42a"
      unitRef="shares">18949000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzQtMy0xLTEtMjY3NDM_0f9bb739-4c96-46e1-b063-8f5dcfc049ce"
      unitRef="shares">17748000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzQtNS0xLTEtMjY3NDM_0a14a89a-25ef-4f0d-a685-b6fce7f9089b"
      unitRef="shares">17592000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:NetIncomeLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzYtMS0xLTEtMjY3NDM_5e2c3697-0011-4f21-aedc-b36e794e162e"
      unitRef="usd">16496000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzYtMy0xLTEtMjY3NDM_c7bbccf4-9da3-4a9d-a92e-cec5ab91bdea"
      unitRef="usd">-29269000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzYtNS0xLTEtMjY3NDM_19dcb030-5e96-4620-87bd-36316ea7bd67"
      unitRef="usd">37025000</us-gaap:NetIncomeLoss>
    <us-gaap:PreferredStockDividendsIncomeStatementImpact
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzctMS0xLTEtMjY3NDM_04f6eaeb-ca82-43ba-ab11-3b9e4dae5780"
      unitRef="usd">90000</us-gaap:PreferredStockDividendsIncomeStatementImpact>
    <us-gaap:PreferredStockDividendsIncomeStatementImpact
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzctMy0xLTEtMjY3NDM_619a589a-d262-45d0-9288-cbd2615d36ba"
      unitRef="usd">90000</us-gaap:PreferredStockDividendsIncomeStatementImpact>
    <us-gaap:PreferredStockDividendsIncomeStatementImpact
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzctNS0xLTEtMjY3NDM_cd21d3b0-c26e-4e12-b52e-35c3144e3380"
      unitRef="usd">90000</us-gaap:PreferredStockDividendsIncomeStatementImpact>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzgtMS0xLTEtMjY3NDM_6c4106e3-060d-4fbd-a16e-817aea98f384"
      unitRef="usd">16406000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzgtMy0xLTEtMjY3NDM_0c35205c-55b7-4545-b081-10a4032f49ef"
      unitRef="usd">-29359000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzgtNS0xLTEtMjY3NDM_f543d47d-3bcb-4aed-b66e-c114fa398334"
      unitRef="usd">36935000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzktMS0xLTEtMjY3NDM_b66579e3-e82a-4def-be47-3ae911d3cd2e"
      unitRef="usdPerShare">0.87</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzktMy0xLTEtMjY3NDM_4bed9392-7aa1-413e-8094-0a344a93933c"
      unitRef="usdPerShare">-1.65</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzktNS0xLTEtMjY3NDM_a40376a1-1ddc-46f8-8e9b-8d7ab51fa930"
      unitRef="usdPerShare">2.10</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzEyLTEtMS0xLTI2NzQz_8c6f10c6-1d28-4b07-8958-5461b6114c7b"
      unitRef="shares">18949000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzEyLTMtMS0xLTI2NzQz_a9502c66-ead2-40bc-aa8b-54d5fcb636ec"
      unitRef="shares">17748000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzEyLTUtMS0xLTI2NzQz_2a5e1bd4-96fa-48f3-b64f-e1fab3b709a8"
      unitRef="shares">17592000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzEzLTEtMS0xLTI2NzQz_b0afc51a-c901-4902-a9b3-a2febee23155"
      unitRef="shares">840000</us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzEzLTMtMS0xLTI2NzQz_e15456e0-ec21-43d8-9b9d-1f4f60de45a5"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzEzLTUtMS0xLTI2NzQz_d06f5d53-b12a-4b3c-8984-1e496d3274fd"
      unitRef="shares">840000</us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE0LTEtMS0xLTI2NzQz_88aea6f4-8925-46df-aaf8-35b24698b0c4"
      unitRef="shares">19789000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE0LTMtMS0xLTI2NzQz_08930619-0420-4c44-b9af-ce418eccb1f9"
      unitRef="shares">17748000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE0LTUtMS0xLTI2NzQz_62579bc9-0dad-4dbf-a4de-eaa2caa48aa3"
      unitRef="shares">18432000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE1LTEtMS0xLTI2NzQz_d94dbcc2-be12-4e71-ae08-59f3a6e8dbad"
      unitRef="usd">16406000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE1LTMtMS0xLTI2NzQz_413ffb21-528e-4d5c-a618-468caa5218ea"
      unitRef="usd">-29359000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE1LTUtMS0xLTI2NzQz_96a06846-29a3-4923-af37-82a8eb41b6a4"
      unitRef="usd">36935000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ConvertiblePreferredDividendsNetOfTax
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE2LTEtMS0xLTI2NzQz_843c3e60-e86a-4bcf-a007-b067f79aeaa1"
      unitRef="usd">90000</us-gaap:ConvertiblePreferredDividendsNetOfTax>
    <us-gaap:ConvertiblePreferredDividendsNetOfTax
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE2LTMtMS0xLTI2NzQz_a9414356-d740-4f75-b235-838586378a3e"
      unitRef="usd">0</us-gaap:ConvertiblePreferredDividendsNetOfTax>
    <us-gaap:ConvertiblePreferredDividendsNetOfTax
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE2LTUtMS0xLTI2NzQz_67ec1506-198c-4f9b-bf87-994ab531a47d"
      unitRef="usd">90000</us-gaap:ConvertiblePreferredDividendsNetOfTax>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE3LTEtMS0xLTI2NzQz_7a4b046d-b120-47a0-8105-232f32dbd6a3"
      unitRef="usd">16496000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE3LTMtMS0xLTI2NzQz_4cded4f0-c5e4-40f0-aab2-f669db89480a"
      unitRef="usd">-29359000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE3LTUtMS0xLTI2NzQz_e9659d54-1d59-4ad2-8bcd-ca48d5c205a2"
      unitRef="usd">37025000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE4LTEtMS0xLTI2NzQz_5da34d31-5d03-4e11-9aab-00c172cf8760"
      unitRef="usdPerShare">0.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE4LTMtMS0xLTI2NzQz_810158e5-c4a2-4c45-a169-2c2965f1ba2f"
      unitRef="usdPerShare">-1.65</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90YWJsZTpjMDg4YmYzNmY4ZGM0N2Y3OGE5ZTY1ZTkyY2YyMjczMi90YWJsZXJhbmdlOmMwODhiZjM2ZjhkYzQ3Zjc4YTllNjVlOTJjZjIyNzMyXzE4LTUtMS0xLTI2NzQz_50b58530-6a19-4086-b224-c912ae0b25b5"
      unitRef="usdPerShare">2.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90ZXh0cmVnaW9uOmY3ZmQ5OTNmMGYzZTRiZDBiMjgxOTQyNzUxMWVmMGNjXzg5OQ_7115d04a-1b85-4d90-89c4-d776e835b683"
      unitRef="shares">840000</us-gaap:IncrementalCommonSharesAttributableToConversionOfPreferredStock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3b74c089e5c340e19def93143564581d_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTUvZnJhZzpmN2ZkOTkzZjBmM2U0YmQwYjI4MTk0Mjc1MTFlZjBjYy90ZXh0cmVnaW9uOmY3ZmQ5OTNmMGYzZTRiZDBiMjgxOTQyNzUxMWVmMGNjXzk4Mw_1b62ccfe-a25e-49aa-8345-389e0c7a6b32"
      unitRef="shares">840000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzEzNjg_45d3c2ce-f9ea-4041-85d6-dceabcee3aac">CAPITAL STOCK&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 Series A and Series B preferred stock of 1,122 shares and 15,000 shares outstanding as of December&#160;31, 2021, 2020 and 2019, respectively. The preferred stock did not have any activity during 2021, 2020 and 2019. &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-style:italic;font-weight:400;line-height:120%"&gt;Series A Preferred 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="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 holders of Series A preferred stock are entitled to one-tenth of a vote per share on all matters presented to a vote of shareholders generally, voting as a class with the holders of common stock, and are not entitled to any dividends or distributions other than in the event of a liquidation of the Company, in which case the holders of the Series A preferred stock are entitled to $100 liquidation preference per share.&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-style:italic;font-weight:400;line-height:120%"&gt;Series B Preferred 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="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;Each share of the Series B convertible preferred stock is convertible into 56 shares of common stock and a monthly dividend per share of $.50. The holders of the Series B convertible stock are entitled to a $100 liquidation preference per share after payment of the distributions to the holders of the Series A preferred stock and to one-tenth of a vote per share on all matters presented to a vote of shareholders generally, voting as a class with the holders of the common stock.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&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 activity related to outstanding common stock and common stock held in treasury was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Common Stock:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Quantity (in thousands)&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, beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,041&#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;17,460&#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;17,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Issuance of shares for compensation net of withholding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85&#160;&lt;/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;54&#160;&lt;/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;59&#160;&lt;/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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Issuance of common stock related to equity distribution agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;46&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Issuance of common stock related to purchase of businesses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;527&#160;&lt;/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,481&#160;&lt;/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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase of shares held in treasury&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,185)&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;/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, end of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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;18,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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-bottom:3pt double #000000;border-top:2pt 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;19,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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-bottom:3pt double #000000;border-top:2pt 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;17,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;SHARE REPURCHASE&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 May 12, 2021, the Company announced that its Board of Directors authorized a share repurchase program (the &#x201c;program&#x201d;) under which up to $85.0&#160;million or 1.5&#160;million shares of its outstanding common stock may be acquired in the open market over the next 24 months at the discretion of management. During the twelve months ended December 31, 2021, the Company repurchased 1.2 million shares of common stock for $33.5 million at an average price of $28.28 per share. In connection with  share repurchases we recorded $5 thousand in commission fees in 2021 included in additional paid-in capital.&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:112%"&gt;Total consideration paid to repurchase the shares was recorded in shareholders&#x2019; equity as treasury shares. Such consideration was funded with existing cash balances and an agreement to pay sellers over four equal installments beginning on June 15, 2021. The remaining two installments totaling $13.6 million were included in other current liabilities as of December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in millions, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:2pt solid #000000;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;Total number of shares purchased&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.2&#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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amount paid&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;33.5&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Average price paid per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;28.28&#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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;SALES OF COMMON STOCKOn May 11, 2020, the Company entered into an Equity Distribution Agreement (the &#x201c;Equity Distribution Agreement&#x201d;) with BMO Capital Markets Corp. (the &#x201c;Distribution Agent&#x201d;) pursuant to which the Company may offer and sell shares of the Company&#x2019;s common stock, par value $0.01 per share, having an aggregate offering amount of up to $37,500,000 from time to time through the Distribution Agent. Sales, if any, of the Company&#x2019;s common stock pursuant to the Equity Distribution Agreement will be made in &#x201c;at the market offerings&#x201d; as defined in Rule 415(a)(4) promulgated under the Securities Act of 1933, as amended. During the twelve months ended December 31, 2020, the Company issued and sold 46,000 shares of common stock under the Equity Distribution Agreement, with net proceeds totaling approximately $1.1&#160;million, after deducting the Distribution Agent&#x2019;s commission of approximately $26&#160;thousand.</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i1a9b82cbb1874ded8838d9d56898af27_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzg3_7888027f-1a7c-45d0-bade-fc732f86ff1e"
      unitRef="shares">1122</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i7e98caa88a7f46e5a15dad55f6f6dd9a_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzg3_7c81e94c-30bb-4017-ad9a-0112e0b4af78"
      unitRef="shares">1122</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i64af7461ee754f13a1fea0fb773267c4_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzg3_a7f24dcb-e857-4a84-aaa5-a1604abc9b95"
      unitRef="shares">1122</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="iaa7e6845c00c4afea9b7355815faf5dd_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzEwMQ_5ad8c83c-bbcf-493f-b2ec-0bc76aa634d0"
      unitRef="shares">15000</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i4642807121114268808fb96f6d0674c1_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzEwMQ_8404e857-721f-4180-ae3a-56560616a0c9"
      unitRef="shares">15000</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ia7451d2d589d4fd1808dbac6b5205d20_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzEwMQ_f24f70b7-f5f9-4683-9db3-b7966f6bc97e"
      unitRef="shares">15000</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockLiquidationPreference
      contextRef="i1a9b82cbb1874ded8838d9d56898af27_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzY0MA_f6511323-0ef1-4f20-b98d-e6282bd8686a"
      unitRef="usdPerShare">100</us-gaap:PreferredStockLiquidationPreference>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="if3f3b5d406f4483c92c676469c6bf635_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzc3OQ_1aa76272-6a9c-458c-8c4c-d332bdb18f88"
      unitRef="shares">56</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:PreferredStockDividendRatePerDollarAmount
      contextRef="i3de752fcbd6a4f53b293e2071356c17c_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzg0MQ_8cefbcf6-8e1e-49f8-83b0-c6b101ab9835"
      unitRef="usdPerShare">0.50</us-gaap:PreferredStockDividendRatePerDollarAmount>
    <us-gaap:PreferredStockLiquidationPreference
      contextRef="if3f3b5d406f4483c92c676469c6bf635_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzkwOQ_22cad7a3-e4c5-45a5-b5a1-b603ac104b84"
      unitRef="usdPerShare">100</us-gaap:PreferredStockLiquidationPreference>
    <us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90ZXh0cmVnaW9uOjIyZDRiZWFlNmIzODRjMWE5Yjk0NDBlZWM2NDViNGUzXzEzNzA_4eaadcb5-0323-4682-a2d6-22292d4364ae">&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 activity related to outstanding common stock and common stock held in treasury was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Common Stock:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Quantity (in thousands)&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, beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,041&#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;17,460&#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;17,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Issuance of shares for compensation net of withholding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85&#160;&lt;/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;54&#160;&lt;/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;59&#160;&lt;/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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Issuance of common stock related to equity distribution agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;46&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Issuance of common stock related to purchase of businesses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;527&#160;&lt;/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,481&#160;&lt;/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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase of shares held in treasury&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,185)&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;/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, end of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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;18,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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-bottom:3pt double #000000;border-top:2pt 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;19,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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-bottom:3pt double #000000;border-top:2pt 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;17,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:2pt 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:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iefb2d8e44f1b4d2b9c146677532d8588_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzMtMS0xLTEtMjY3NDM_5be64a50-f3d6-447a-b827-a985db7c4c46"
      unitRef="shares">19041000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i16f15d05c7c849dd9dfa1ea4ad2d0c48_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzMtMy0xLTEtMjY3NDM_f2f3e0bb-c65a-4ce3-8e3a-96237c75fea7"
      unitRef="shares">17460000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i06d9fbf7fe794a429d19bd7c54de08ef_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzMtNS0xLTEtMjY3NDM_2c64092b-b4e3-4a3d-afe6-bc96e3a87ee8"
      unitRef="shares">17401000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i0130af4d22a443299fdc842012489ffb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzQtMS0xLTEtMjY3NDM_82a65681-8622-450f-8cee-2399d2642762"
      unitRef="shares">85000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="ic17c68fe679343f6b665999462c109de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzQtMy0xLTEtMjY3NDM_a93682b4-e2c1-4512-a34f-976b936f0ef5"
      unitRef="shares">54000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="ibd269fd5d43445459f28c5bd8c0d4a5d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzQtNS0xLTEtMjY3NDM_032647e7-1394-45c8-8348-ebdf4a71aea1"
      unitRef="shares">59000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <dxpe:StockIssuedDuringPeriodEquityDistributionAgreement
      contextRef="i0130af4d22a443299fdc842012489ffb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzUtMS0xLTEtMjY3NDM_ccd396c3-240b-4e9a-ba09-e9cea194364a"
      unitRef="shares">0</dxpe:StockIssuedDuringPeriodEquityDistributionAgreement>
    <dxpe:StockIssuedDuringPeriodEquityDistributionAgreement
      contextRef="ic17c68fe679343f6b665999462c109de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzUtMy0xLTEtMjY3NDM_425e8436-db96-4230-82e6-d19005bb5b18"
      unitRef="shares">46000</dxpe:StockIssuedDuringPeriodEquityDistributionAgreement>
    <dxpe:StockIssuedDuringPeriodEquityDistributionAgreement
      contextRef="ibd269fd5d43445459f28c5bd8c0d4a5d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzUtNS0xLTEtMjY3NDM_c8933e6f-f7af-4338-b4e8-b2da134db04a"
      unitRef="shares">0</dxpe:StockIssuedDuringPeriodEquityDistributionAgreement>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="i0130af4d22a443299fdc842012489ffb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzYtMS0xLTEtMjY3NDM_e7740783-7def-40cd-b77f-72f2083bc460"
      unitRef="shares">527000</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="ic17c68fe679343f6b665999462c109de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzYtMy0xLTEtMjY3NDM_ed1811a9-f42c-4e23-a245-881a0a0c4595"
      unitRef="shares">1481000</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="ibd269fd5d43445459f28c5bd8c0d4a5d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzYtNS0xLTEtMjY3NDM_f5a1658c-0b61-4241-9e0f-6eee42d86bec"
      unitRef="shares">0</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i0130af4d22a443299fdc842012489ffb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzctMS0xLTEtMjg3ODI_1c81d3a8-5446-4124-b75b-698817f1ecff"
      unitRef="shares">1185000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ic17c68fe679343f6b665999462c109de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzctMy0xLTEtMjg3ODk_64a3542f-c8f8-4ea8-b079-c80d31867385"
      unitRef="shares">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ibd269fd5d43445459f28c5bd8c0d4a5d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzctNS0xLTEtMjg3OTU_8517ac00-57ef-4e7e-a75a-44e8328f04e9"
      unitRef="shares">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="if3f986a319ce44059259643c75997429_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzctMS0xLTEtMjY3NDM_b103cf7d-72d1-4644-ad0c-67b5d6f539f2"
      unitRef="shares">18468000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iefb2d8e44f1b4d2b9c146677532d8588_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzctMy0xLTEtMjY3NDM_387ec51b-9c82-4eea-a678-f38572fd8b21"
      unitRef="shares">19041000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i16f15d05c7c849dd9dfa1ea4ad2d0c48_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMTgvZnJhZzoyMmQ0YmVhZTZiMzg0YzFhOWI5NDQwZWVjNjQ1YjRlMy90YWJsZTo0ZWM0NDFjMThmNWE0NzUwOWU5ZjgxNGQ3NzI5MTQxNy90YWJsZXJhbmdlOjRlYzQ0MWMxOGY1YTQ3NTA5ZTlmODE0ZDc3MjkxNDE3XzctNS0xLTEtMjY3NDM_163f1058-f8b6-4ec6-97bf-ab58dddbe5d5"
      unitRef="shares">17460000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="ifef15e174c414572a592e9d7dff501b8_I20210512"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8xMDk5NTExNjI4OTky_18ec94d0-cebe-4bff-8877-bd62af123e6f"
      unitRef="usd">85000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="ifef15e174c414572a592e9d7dff501b8_I20210512"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8xMDk5NTExNjI5MDA3_676bd95c-f02d-4a3d-92cb-b274c90ae845"
      unitRef="shares">1500000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <dxpe:StockRepurchaseProgramExpirationPeriod
      contextRef="i3b0a2c85ad214a7981e01fe779d0ee41_D20210512-20210512"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8xMDk5NTExNjI5MDMw_c57ffee0-3a34-4247-a8c6-27f52fec63d4">P24M</dxpe:StockRepurchaseProgramExpirationPeriod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8yNzQ4Nzc5MDcwNTMz_976c777e-3112-419b-940e-7c7d42d92f19"
      unitRef="shares">1200000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8yNzQ4Nzc5MDcwNTg2_7f90f723-1ec9-4e7e-b8d8-4e80329f51f9"
      unitRef="usd">33500000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8yNzQ4Nzc5MDcwNjAw_10e3bc76-80fb-496a-8770-53ca6ca13dc4"
      unitRef="usdPerShare">28.28</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8yMTk5MDIzMjU2ODg2_05340b94-5a5c-4704-9afd-d3c20c021cbe"
      unitRef="usd">5000</us-gaap:PaymentsOfStockIssuanceCosts>
    <dxpe:StockRepurchaseProgramNumberOfInstallments
      contextRef="ifef15e174c414572a592e9d7dff501b8_I20210512"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8xNzA0MjQzMDIzMTk0NQ_ca59cae4-b262-45d3-ad39-d80bdca392d1"
      unitRef="installment">4</dxpe:StockRepurchaseProgramNumberOfInstallments>
    <dxpe:StockRepurchaseProgramNumberOfRemainingInstallments
      contextRef="ibe1472d4f6d34184945f3256999c4c55_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8xMDk5NTExNjI5MDI0_5a358453-d35c-436b-827d-1205417f2182"
      unitRef="installment">2</dxpe:StockRepurchaseProgramNumberOfRemainingInstallments>
    <dxpe:RepurchaseOfCommonStockIncurredButNotYetPaid
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8yNzQ4Nzc5MDcwNjM4_b2385c56-b960-4d72-a1cd-3a14f437c53d"
      unitRef="usd">13600000</dxpe:RepurchaseOfCommonStockIncurredButNotYetPaid>
    <us-gaap:ScheduleOfTreasuryStockByClassTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGV4dHJlZ2lvbjo5YzU2NDU0ZGUzN2M0MDQ4OTNhOTBhZTVmNDRlMDJkNF8xMDk5NTExNjI4OTkw_b4e465eb-2e06-4133-8c7a-5f96d3e8e4d9">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Twelve Months Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:2pt solid #000000;border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in millions, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:2pt solid #000000;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;Total number of shares purchased&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.2&#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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amount paid&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;33.5&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Average price paid per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;28.28&#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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfTreasuryStockByClassTextBlock>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF8zLTEtMS0xLTI5MDQy_976c777e-3112-419b-940e-7c7d42d92f19"
      unitRef="shares">1200000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i00562b43c6c94cacae0394962338c625_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF8zLTMtMS0xLTI5MDU4_ab772b99-79ae-4140-bd3a-a64b86f1e9e6"
      unitRef="shares">0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i0e136cd617a14bc0a7e6b5a4a4e3bee7_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF8zLTUtMS0xLTI5MDY1_008dd038-bf33-4b28-bba7-bee375e22e81"
      unitRef="shares">0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF80LTEtMS0xLTI5MDQy_7f90f723-1ec9-4e7e-b8d8-4e80329f51f9"
      unitRef="usd">33500000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i00562b43c6c94cacae0394962338c625_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF80LTMtMS0xLTI5MDU4_8fd206a2-c485-482f-99df-d43b8a79cebb"
      unitRef="usd">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i0e136cd617a14bc0a7e6b5a4a4e3bee7_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF80LTUtMS0xLTI5MDY1_7581d4f8-08a4-4e03-b533-ee51dc332066"
      unitRef="usd">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="if11cda8649524a419592a912ce6c293e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF81LTEtMS0xLTI5MDQy_10e3bc76-80fb-496a-8770-53ca6ca13dc4"
      unitRef="usdPerShare">28.28</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="i00562b43c6c94cacae0394962338c625_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF81LTMtMS0xLTI5MDU4_16955d11-a0df-4c6c-bd01-65914f64fe6e"
      unitRef="usdPerShare">0</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="i0e136cd617a14bc0a7e6b5a4a4e3bee7_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNTIwL2ZyYWc6OWM1NjQ1NGRlMzdjNDA0ODkzYTkwYWU1ZjQ0ZTAyZDQvdGFibGU6MThlOTBlYmExOTFlNDMwOGIzMDE2YjRhYWUwOTk5NjgvdGFibGVyYW5nZToxOGU5MGViYTE5MWU0MzA4YjMwMTZiNGFhZTA5OTk2OF81LTUtMS0xLTI5MDY1_eac93805-993a-4597-85b5-61315b5b8b39"
      unitRef="usdPerShare">0</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="if6cbeca39b74425f80aa4545051dd10e_I20200511"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjQvZnJhZzpkZTcwZDNiMDZjNTU0MTc4OTEyMzJmYzEzMDY1Nzg2NC90ZXh0cmVnaW9uOmRlNzBkM2IwNmM1NTQxNzg5MTIzMmZjMTMwNjU3ODY0XzMwNg_1b6326a8-0265-4689-b653-1ebbd8608d66"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <dxpe:SaleOfStockAmountAuthorized
      contextRef="i4dc4fceee5b440e384ea384c2cce44a4_D20200511-20200511"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjQvZnJhZzpkZTcwZDNiMDZjNTU0MTc4OTEyMzJmYzEzMDY1Nzg2NC90ZXh0cmVnaW9uOmRlNzBkM2IwNmM1NTQxNzg5MTIzMmZjMTMwNjU3ODY0XzM2NQ_a24face0-f09c-4bfc-a4dc-5d57fd10fa38"
      unitRef="usd">37500000</dxpe:SaleOfStockAmountAuthorized>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="if44ecf64cc9e4f418e4b3590a249a12a_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjQvZnJhZzpkZTcwZDNiMDZjNTU0MTc4OTEyMzJmYzEzMDY1Nzg2NC90ZXh0cmVnaW9uOmRlNzBkM2IwNmM1NTQxNzg5MTIzMmZjMTMwNjU3ODY0XzY4MQ_96440136-dfdb-490f-8988-59e1ec552766"
      unitRef="shares">46000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="if44ecf64cc9e4f418e4b3590a249a12a_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjQvZnJhZzpkZTcwZDNiMDZjNTU0MTc4OTEyMzJmYzEzMDY1Nzg2NC90ZXh0cmVnaW9uOmRlNzBkM2IwNmM1NTQxNzg5MTIzMmZjMTMwNjU3ODY0Xzc4OQ_63fea309-e698-4143-82f5-846be09137c9"
      unitRef="usd">1100000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="if44ecf64cc9e4f418e4b3590a249a12a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjQvZnJhZzpkZTcwZDNiMDZjNTU0MTc4OTEyMzJmYzEzMDY1Nzg2NC90ZXh0cmVnaW9uOmRlNzBkM2IwNmM1NTQxNzg5MTIzMmZjMTMwNjU3ODY0Xzg2Mg_d7d4f045-ad3c-4f7e-bca5-8b22409ca934"
      unitRef="usd">26000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTE0Nzc_90671d6f-a930-4b15-9c0e-88c227800092">BUSINESS ACQUISITIONS&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 continually evaluates potential acquisitions that either strategically fit with the Company&#x2019;s existing portfolio or expand the Company&#x2019;s portfolio into a new and attractive markets. The Company has completed a number of acquisitions and the purchases of the acquired businesses have resulted in the recognition of goodwill and other intangible assets in the Company&#x2019;s Consolidated Financial Statements. &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 makes an initial allocation of the purchase price at the date of acquisition based upon its understanding of the fair value of the acquired assets and assumed liabilities. The Company obtains the information used for the purchase price allocation during due diligence and through other sources. In the months after closing, as the Company obtains additional information about the acquired assets and liabilities and learns more about the newly acquired business, it is able to refine the estimates of fair value and more accurately allocate the purchase price. The fair values of acquired intangibles are determined based on estimates and assumptions that are deemed reasonable by the Company. The Company from time-to-time engages third-party valuation specialists who review the Company&#x2019;s critical assumptions and calculations of the fair value of acquired intangible assets in connection with significant acquisitions. Only facts and circumstances that existed as of the acquisition date are considered for subsequent adjustment. The Company is continuing to evaluate certain pre-acquisition contingencies associated with certain of its 2021 acquisitions. The Company will make appropriate adjustments to the purchase price allocation prior to completion of the measurement period, as required.&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:112%"&gt;Each acquisition has been accounted for as a business combination under ASC 805, &#x201c;Business Combinations.&#x201d; &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:700;line-height:112%"&gt;2021 Acquisitions&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:9pt;font-weight:400;line-height:112%"&gt;O&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;n April 30, 2021, the Company completed the acquisition of Carter &amp;amp; Verplanck, LLC (&#x201c;CVI&#x201d;), a distributor of products and services exclusively focused on serving the water and wastewater markets. The acquisition of CVI was funded with cash on hand as well as issuing DXP's common stock. The Company paid approximately $49.7 million in cash and stock. A majority of CVI's sales are project-based work under the percentage-of-completion accounting model. As a result, CVI has been included in the IPS segment. For the year ended December 31, 2021, CVI contributed sales of $17.9 million and net income of $2.5 million.&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:112%"&gt;On July 1, 2021, the Company completed the acquisition of Process Machinery, Inc. (&#x201c;PMI&#x201d;), a leading distributor of pumps, mechanical seals, tank, filters and related process equipment that focuses on serving the chemical, power, pulp &amp;amp; paper, mining, metals and food processing industries. The Company paid approximately $9.6&#160;million in cash, stock and future consideration (see below). For the year ended December 31, 2021, PMI contributed sales of $5.2 million and net income of $0.7 million.&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:112%"&gt;On September 20, 2021, the Company completed the acquisition of Premier Water LLC (&#x201c;Premier&#x201d;). Premier is a leading distributor and provider of products and services exclusively focused on serving the water and wastewater treatment markets primarily in North and South Carolina. The Company paid approximately $5.8&#160;million in cash and stock. For the year ended December 31, 2021, Premier contributed sales of $0.5 million and net loss of $162 thousand.&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2020 Acquisitions&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 December 31, 2020, the Company completed the acquisition of Total Equipment Company, Inc. (&#x201c;TEC&#x201d;), a distributor of industrial and commercial pumps and air compressors focused on serving multiple end markets including steel, chemicals, water / wastewater, oil &amp;amp; gas and general industrial markets. At closing, the Company paid approximately $64.7 million in cash and stock, subject to normal transaction adjustments, customary for a transaction of this size and nature, including but not limited to working capital adjustments. &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 December 31, 2020, the Company completed the acquisition of APO Pumps &amp;amp; Compressors (&#x201c;APO&#x201d;), a distributor of industrial and commercial pumps and air compressors focused on serving multiple end markets including the water / wastewater, steel, food &amp;amp; beverage, and general industrial markets. The Company paid approximately $53.0 million in cash and stock, following normal transaction adjustments, for example working capital true-ups, customary for a transaction of this size and nature.  Approximately, $38.3 millions was paid at closing, and $13.4 million has been accrued as of December 31, 2020 as true-up consideration.&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 December 31, 2020, the Company completed the acquisition of Pumping Solutions, Inc. (&#x201c;Pumping Solutions&#x201d;), a distributor of industrial and commercial pumps and process equipment focused on serving multiple end markets including the water / wastewater, chemical, food &amp;amp; beverage, and general industrial markets. The Company paid approximately $21.0 million in cash and stock, subject to normal transaction adjustments, customary for a transaction of this size and nature, for example working capital true-ups. &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 December 31, 2020, the Company completed the acquisition of Corporate Equipment Company (&#x201c;CEC&#x201d;), a distributor of industrial and commercial pumps and air compressors focused on serving multiple end markets including the water / wastewater, steel, food &amp;amp; beverage, and general industrial markets. The Company paid approximately $3.3 million in cash and stock, subject to normal transaction adjustments, customary for a transaction of this size and nature, including working capital true-ups. &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 February 1, 2020, the Company completed the acquisition of substantially all of the assets of Turbo Machinery Repair (&#x201c;Turbo&#x201d;), a pump and industrial equipment repair, maintenance, machining and labor services company. The Company paid approximately $3.2 million in cash, subject to normal transaction adjustments, customary for a transaction of this size and nature, including working capital true-ups, . &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;On January 1, 2020, the Company completed the acquisition of Pumping Systems, Inc. (&#x201c;PSI&#x201d;), a distributor of pumps, systems and related services. The PSI acquisition was funded with a mixture of cash on hand as well as issuing DXP's common stock. The PSI acquisition was funded with a mixture of cash on hand as well as issuing DXP's common stock. The Company paid approximately $13.0 million in cash and stock, subject to normal transaction adjustments, customary for a transaction of this size and nature, including working capital true-ups.&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:112%"&gt;The tables below summarize the total consideration transferred to acquire these companies and in aggregate the amount of identified assets acquired and liabilities assumed at the acquisition dates. For the 2021 acquisitions, the Company is in the process of finalizing third-party valuations of certain intangible assets; thus, the provisional measurements of intangible assets, goodwill and deferred income tax liabilities are subject to change. In addition, the company continues to finalize inventory, ROU Assets and Liabilities as well as other assets acquired.&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Pro Forma Financial Results (unaudited)&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:112%"&gt;The following represents the pro forma unaudited revenue and net income as if each of the 2021 acquisitions had been included in the consolidated results of the Company for the full year periods ending December 31, 2021 and 2020, respectively. In addition, the pro forma results also assume that all of the 2020 acquisitions had been consummated as of January 1, 2020.  The pro forma information is not necessarily indicative of future results:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.438%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.512%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.191%"/&gt;&lt;td style="width:0.1%"/&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="padding:0 1pt"/&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center;text-indent:0.9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:112%"&gt;Fiscal Year Ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="12" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:115%"&gt;($ in thousands)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt;text-indent:0.9pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:0.9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Revenue&lt;/span&gt;&lt;/div&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,121,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,164,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt;text-indent:0.9pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:0.9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Net income&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 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:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;17,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 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:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(9,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:700;line-height:112%"&gt;Purchase Price Allocation and Consideration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&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:112%"&gt;The following tables summarize the estimated fair values of the assets acquired and liabilities assumed at the acquisition date for the 2021 acquisitions, as well as the fair value of the consideration transferred:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.461%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.481%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;($ in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;1,292&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,166&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;268&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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="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,041&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&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="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;15,218&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,749&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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 assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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-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,522&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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 liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,431)&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;65,091&#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;/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:112%"&gt;Of the $62.0 million of acquired intangible assets, $1.0 million was provisionally assigned to non-compete agreements that are subject to amortization over 5 years, consistent with the terms of the agreements. In addition, $15.2 million was assigned to customer relationships, and will be amortized over a period of 8 years. The goodwill total of $45.7 million is attributable primarily to expected synergies and the assembled workforce of each entity.&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:112%"&gt;The fair value of accounts receivables acquired is $6.8 million, which approximated book value.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&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:112%"&gt;In aggregate, the acquisition-date fair value of the consideration transferred for the three businesses acquired in 2021 totaled $65.1 million, which consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.461%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.481%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Purchase Price Consideration (in millions)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Consideration&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="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of stock issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Future consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.3&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;65.1&#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;&lt;div style="text-indent:18pt"&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:112%"&gt;The fair value of the approximately 434,000 common shares issued was determined based on the closing market price of the Company&#x2019;s common shares on the respective acquisition date, adjusted for holding restrictions following consummation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&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 fair values of the assets acquired and liabilities assumed for the 2020 acquisitions, as well as the fair value of the consideration transferred 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:76.461%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.481%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Purchase Price Consideration (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Consideration&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="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:100%"&gt;Fair value of stock issued (1,480,909 shares)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,367&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Future consideration * &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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-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;158,042&#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 style="height:14pt"&gt;&lt;td colspan="3" style="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 #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="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;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,646&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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 Current Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,811&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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="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,332&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&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="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;37,465&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,555&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1.5pt 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:1.5pt 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;175,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1.5pt 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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,437)&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,702)&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;158,042&#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="padding:0 1pt"/&gt;&lt;td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;*The future consideration was paid in July 2022.&lt;/span&gt;&lt;/div&gt;&lt;/td&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:112%"&gt;The Company recognized less than $300,000 of acquisition related costs that were expensed in the current period. These costs are included in the consolidated income statement in Selling, General and Administrative costs. The Company also recognized an immaterial amount in costs associated with issuing the shares issued as consideration in the business combination. Those costs were deducted from the recognized proceeds of issuance within stockholders&#x2019; equity.&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:112%"&gt;As third-party or internal valuations are finalized, certain tax aspects of the foregoing transactions are completed, and customer post-closing reviews are concluded, adjustments may be made to the fair value of assets acquired, and in some cases total purchase price, through the end of each measurement period, generally one year following the applicable acquisition date.  Various insignificant adjustments to the fair value of assets acquired, and in some cases total purchase price, have been made to certain business combinations since the respective dates of acquisition. During twelve months ended December 31, 2021, we recorded measurement-period adjustments that increased goodwill by approximately $1.4 million, primarily for changes in the fair value of current assets. The impact of these adjustments to the consolidated statement of operations were immaterial.&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:112%"&gt;Goodwill to be recognized in connection with these acquisitions is attributable to the synergies expected to be realized and improvements in the businesses after the acquisitions.  Goodwill related to asset acquisitions is currently deductible for income tax purposes. Goodwill related to stock acquisitions is capitalized to the stock basis of the acquisition for income tax purposes and is deductible upon disposition of the 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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Contingent Consideration&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:112%"&gt;The acquisition of PMI included a contingent consideration arrangement that requires additional consideration to be paid based on the achievement of annual gross revenue targets over a two-year period. The range of undiscounted amounts the Company may be required to pay under the contingent consideration agreement is between zero and $2.5 million. The fair value of the contingent consideration recognized on the acquisition date of $0.3 million was estimated by applying the income approach using discounted cash flows. That measure is based on significant Level 3 inputs not observable in the market. The significant assumption includes a discount rate of 7.6%. Changes in the fair value measurement each period reflect the passage of time as well as the impact of adjustments, if any, to the likelihood of achieving the specified targets. The fair value measurement includes earnings forecasts which are a Level 3 measurement as discussed in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt;&lt;a href="#i14b787324df94171803ab38e958141e2_91" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt;Note 5 - Fair Value of Financial Assets and Liabilities&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;. The fair value of the contingent consideration is reviewed quarterly over the earn-out period to compare actual earnings before interest, taxes, depreciation and amortization ("EBITDA") achieved to the estimated EBITDA used in our forecasts.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i74d0ed8e5a2b46609a086e576067cad3_D20210430-20210430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMDg2MjI_505bea63-3dc9-46dd-b96c-cadc3d8d7bf1"
      unitRef="usd">49700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i21c157b9bb6746538fd12aba247b3426_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMDg2Mzk_e5b4b973-659f-46c0-b3c9-670945863dc5"
      unitRef="usd">17900000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i21c157b9bb6746538fd12aba247b3426_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMDg2NTY_a8c31af2-cd1d-42f2-9b2f-3fecd4dd722e"
      unitRef="usd">2500000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i34bf381de5664c00a8fbb5662f1ad88d_D20210701-20210701"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTEyMTE_a41bda2c-4b80-4e4d-85a0-ebb83aa7be02"
      unitRef="usd">9600000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i10288ee7f0ae484a8e14b850be48a8fe_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMDg3NTg_0c5f431d-b529-44f1-9942-63e29e6e3f85"
      unitRef="usd">5200000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i10288ee7f0ae484a8e14b850be48a8fe_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMDg3NzY_51c9623c-d3ff-4b0e-bf30-2e9a0e3a2b3b"
      unitRef="usd">700000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i26b72bbe044b430aaa7b42cde2028ef6_D20200920-20200920"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTEyMjU_58dac0a3-071f-425e-9b38-7758a07871f6"
      unitRef="usd">5800000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="ifedd33e897b842828429ed49fc24f2f8_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMzkxNTg_88add68a-c51a-4336-9dfb-1b1485ba0f12"
      unitRef="usd">500000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="ifedd33e897b842828429ed49fc24f2f8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMzkxNjU_1bc3b297-464c-46eb-add2-b6cca1d27852"
      unitRef="usd">-162000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="iafd1974b4e09408aa945def608e7f7ef_D20201231-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMTg0NjQ_59ed6759-b827-4edd-b3d4-437ae5a868ee"
      unitRef="usd">64700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="icec2454f11bc4a458c7bd7fb5c8383af_D20201231-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMTg5Njk_62c07dde-d928-447f-9e30-8a735e6cd65c"
      unitRef="usd">53000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="icec2454f11bc4a458c7bd7fb5c8383af_D20201231-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzMyOTg1MzQ5NjcxNzA_3612150f-c74b-4f2b-98f6-2f20f229f6bb"
      unitRef="usd">38300000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="icec2454f11bc4a458c7bd7fb5c8383af_D20201231-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzI3NDg3NzkxNTQ1NjM_556e9721-8374-4862-bd84-7a2cbb6e36a6"
      unitRef="usd">13400000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i10ba6c9e311849218bedfae0f8b3088e_D20201231-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMTk2MDc_a51ddd70-48d8-4336-86a5-30d06e79e02b"
      unitRef="usd">21000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ia2541dd42e98411bb34c5cb5ac77070d_D20201231-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjAwOTY_730b4231-05eb-47ac-82af-866a053c87ae"
      unitRef="usd">3300000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i672f94e2b9c44d04bf846ce8f8de0c4b_D20200201-20200201"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjA1MDY_0042f3aa-0f0e-47a4-beb7-0d19e0efc13d"
      unitRef="usd">3200000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i90ce6a2fb7114550bdb79dff3d8c34ee_D20200101-20200101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjEwMzQ_c02cb950-7733-471c-8404-d2798abb9b3e"
      unitRef="usd">13000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTEyNzA_c0bdf36f-a3a2-449b-8114-32916882aa24">&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:112%"&gt;The following represents the pro forma unaudited revenue and net income as if each of the 2021 acquisitions had been included in the consolidated results of the Company for the full year periods ending December 31, 2021 and 2020, respectively. In addition, the pro forma results also assume that all of the 2020 acquisitions had been consummated as of January 1, 2020.  The pro forma information is not necessarily indicative of future results:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.438%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.512%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.191%"/&gt;&lt;td style="width:0.1%"/&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="padding:0 1pt"/&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center;text-indent:0.9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:112%"&gt;Fiscal Year Ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="6" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="12" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:115%"&gt;($ in thousands)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt;text-indent:0.9pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:0.9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Revenue&lt;/span&gt;&lt;/div&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,121,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,164,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt;text-indent:0.9pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:0.9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Net income&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 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:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;17,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 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:112%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(9,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTo0NjNjZTM4MzUzMWQ0ODJjOTVhOWIzMjFjYTNmNTI1Mi90YWJsZXJhbmdlOjQ2M2NlMzgzNTMxZDQ4MmM5NWE5YjMyMWNhM2Y1MjUyXzQtMy0xLTEtMzI0MTk_481b41be-fe41-4fc4-b6e6-bca58e495adf"
      unitRef="usd">1121723000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTo0NjNjZTM4MzUzMWQ0ODJjOTVhOWIzMjFjYTNmNTI1Mi90YWJsZXJhbmdlOjQ2M2NlMzgzNTMxZDQ4MmM5NWE5YjMyMWNhM2Y1MjUyXzQtNS0xLTEtMzI0MjU_851fc0da-009f-4741-a51c-81709cb14d0c"
      unitRef="usd">1164631000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTo0NjNjZTM4MzUzMWQ0ODJjOTVhOWIzMjFjYTNmNTI1Mi90YWJsZXJhbmdlOjQ2M2NlMzgzNTMxZDQ4MmM5NWE5YjMyMWNhM2Y1MjUyXzUtMy0xLTEtMzI0MTk_b9651f4f-e42a-47de-a896-a4dcd33cd8f3"
      unitRef="usd">17542000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTo0NjNjZTM4MzUzMWQ0ODJjOTVhOWIzMjFjYTNmNTI1Mi90YWJsZXJhbmdlOjQ2M2NlMzgzNTMxZDQ4MmM5NWE5YjMyMWNhM2Y1MjUyXzUtNS0xLTEtMzI0MjU_281e7c45-d929-4553-9b6f-11538dd4fd74"
      unitRef="usd">-9660000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTEyNzE_4de6ee72-9b88-47a5-8964-36149a5a1d74">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Purchase Price Allocation and Consideration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&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:112%"&gt;The following tables summarize the estimated fair values of the assets acquired and liabilities assumed at the acquisition date for the 2021 acquisitions, as well as the fair value of the consideration transferred:&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.461%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.481%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;($ in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;1,292&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,166&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;268&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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="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,041&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&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="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;15,218&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,749&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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 assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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-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,522&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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 liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,431)&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;65,091&#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;/table&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;In aggregate, the acquisition-date fair value of the consideration transferred for the three businesses acquired in 2021 totaled $65.1 million, which consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.461%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.481%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Purchase Price Consideration (in millions)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Consideration&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="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of stock issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Future consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.3&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;65.1&#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;The fair values of the assets acquired and liabilities assumed for the 2020 acquisitions, as well as the fair value of the consideration transferred were as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.461%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.481%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Purchase Price Consideration (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Consideration&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="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:100%"&gt;Fair value of stock issued (1,480,909 shares)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,367&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Future consideration * &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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-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;158,042&#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 style="height:14pt"&gt;&lt;td colspan="3" style="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 #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="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;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,646&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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 Current Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,811&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align: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="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,332&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&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="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;37,465&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,555&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1.5pt 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:1.5pt 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;175,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1.5pt 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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,437)&lt;/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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,702)&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align: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 assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;158,042&#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="padding:0 1pt"/&gt;&lt;td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;*The future consideration was paid in July 2022.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzEtMi0xLTEtMzI0NTU_b5601d40-77eb-4605-8e80-e18fa5e4b83b"
      unitRef="usd">1292000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzItMi0xLTEtMzI0NTU_fbfeb880-49d7-4282-af16-20628683ebd1"
      unitRef="usd">6781000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzMtMi0xLTEtMzI0NTU_fe5e7985-a600-408f-8c62-0b612ae378b9"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzQtMi0xLTEtMzI0NTU_feccbd78-90e5-4a14-91a6-9e0640f19b60"
      unitRef="usd">5166000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzUtMi0xLTEtMzI0NTU_774555d1-cdf7-4528-835d-1fbdb2884db6"
      unitRef="usd">268000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="ib102803883444406abe40c841a98235a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzYtMi0xLTEtMzI0NTU_1c5e4ad3-bc0a-495e-906c-29d115a89e9e"
      unitRef="usd">1041000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="ia7df4c76a3f7468899bdda7747fd9c78_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzctMi0xLTEtMzI0NTU_0b6a8187-c196-4386-96e6-1c2acba349e2"
      unitRef="usd">15218000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:Goodwill
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzgtMi0xLTEtMzI0NTU_6ae41cbf-f908-41bc-ae84-0a3490fb780d"
      unitRef="usd">45749000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzktMi0xLTEtMzI0NTU_043ab8dd-3c91-4078-90b6-425eecef44f3"
      unitRef="usd">7000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzEwLTItMS0xLTM0NTc5_771eceb3-7e22-45a0-a4f4-4a77a138a694"
      unitRef="usd">75522000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzExLTItMS0xLTMyNDYx_3765da94-f46b-47bf-b6ef-06c7ab7521f1"
      unitRef="usd">10431000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpkODhmOTBmMzM3Yzg0NTZhYjk2YzExMmI0NzcyYzkzZS90YWJsZXJhbmdlOmQ4OGY5MGYzMzdjODQ1NmFiOTZjMTEyYjQ3NzJjOTNlXzEzLTItMS0xLTM0NTc5_1da7593c-24ff-4c3c-80a3-4ee5e84371b5"
      unitRef="usd">65091000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i1b3dc547f0114db7843b40f1e10b7047_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjYyMTU_159e92f1-7c6e-4bbb-b744-d881c0125928"
      unitRef="usd">62000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="id6a3581e5ff74245b08fac3e3c31885b_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjYyMzM_44b4822a-1424-4099-bd5f-75a853957b24"
      unitRef="usd">1000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="id6a3581e5ff74245b08fac3e3c31885b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTE0MzA_988939ea-8a04-40d2-992b-2e8116485602">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i870216cec8474677b75374f2645dddf0_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjYyNTM_7a053418-270b-49da-ac9a-b7090f5cb623"
      unitRef="usd">15200000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i870216cec8474677b75374f2645dddf0_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTE0NDQ_8d5ec21e-1008-4b8a-9c36-0595f9143a5a">P8Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:Goodwill
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjYyNzI_8f7ce75a-febd-4188-a4aa-e986f550c556"
      unitRef="usd">45700000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ic62a4bcf488b448687237da33569dd82_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjYyOTE_9abed878-2f95-43cf-811c-9cd9ccd70019"
      unitRef="usd">6800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="i1b3dc547f0114db7843b40f1e10b7047_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzE3MDQyNDMwMzE1NjY1_c9fb8efe-dafe-4171-86c8-918b2e18d38c"
      unitRef="entity">3</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMjY4NDU_7e328242-df97-41db-b9f7-b6c7a7d6b5bf"
      unitRef="usd">65100000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i1b3dc547f0114db7843b40f1e10b7047_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpmYTQ1MDQxYjJmNDU0NjY4OGZjZjY5NGFlY2Y0ZjIxMi90YWJsZXJhbmdlOmZhNDUwNDFiMmY0NTQ2Njg4ZmNmNjk0YWVjZjRmMjEyXzEtMi0xLTEtMzI1NTg_2c9851ed-afd9-4228-bf10-8c345c9635d2"
      unitRef="usd">53700000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="i1b3dc547f0114db7843b40f1e10b7047_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpmYTQ1MDQxYjJmNDU0NjY4OGZjZjY5NGFlY2Y0ZjIxMi90YWJsZXJhbmdlOmZhNDUwNDFiMmY0NTQ2Njg4ZmNmNjk0YWVjZjRmMjEyXzItMi0xLTEtMzI1Njc_188e7a49-f905-453c-b677-4526608a9966"
      unitRef="usd">11100000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i1b3dc547f0114db7843b40f1e10b7047_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpmYTQ1MDQxYjJmNDU0NjY4OGZjZjY5NGFlY2Y0ZjIxMi90YWJsZXJhbmdlOmZhNDUwNDFiMmY0NTQ2Njg4ZmNmNjk0YWVjZjRmMjEyXzMtMi0xLTEtMzI1NzM_6b3a11eb-605f-48d6-bdac-b6c42f7e30b5"
      unitRef="usd">300000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i1b3dc547f0114db7843b40f1e10b7047_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTpmYTQ1MDQxYjJmNDU0NjY4OGZjZjY5NGFlY2Y0ZjIxMi90YWJsZXJhbmdlOmZhNDUwNDFiMmY0NTQ2Njg4ZmNmNjk0YWVjZjRmMjEyXzQtMi0xLTEtMzQ1ODI_20491dc1-6d2f-4804-b16a-8282d86e45a6"
      unitRef="usd">65100000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="i773b40f8f3e5478db261cc5f97e26404_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTI4ODE_ad321958-b49d-4439-9a83-e08a8f848d20"
      unitRef="shares">434000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i4cbff05ccaa249f18a3196eff6f56e9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzEtMi0xLTEtMjY3NDM_5e7926d8-6faa-4871-8bba-ced72bf1ff7b"
      unitRef="usd">115247000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="idce8877e89d54693b6a3101b88f550c0_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzItMS0xLTEtMjY3NDMvdGV4dHJlZ2lvbjozY2JhMGM1ZWQ5Yzg0NjVmOWExY2RjZjhlMzA1YjhkNl8zMg_6482a52a-1ebf-4f9a-940d-1ced6bfeddfa"
      unitRef="shares">1480909</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="i4cbff05ccaa249f18a3196eff6f56e9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzItMi0xLTEtMjY3NDM_2a6bf0d1-8b4b-413c-aa0f-da44386b2991"
      unitRef="usd">29367000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i4cbff05ccaa249f18a3196eff6f56e9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzMtMi0xLTEtMjY3NDM_4772c93d-6c9d-43ed-af91-bdc2fab99cf7"
      unitRef="usd">13428000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i4cbff05ccaa249f18a3196eff6f56e9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzQtMi0xLTEtMjY3NDM_59b0eb59-386a-4a45-ab1d-ce5d4b9b8d16"
      unitRef="usd">158042000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzYtMi0xLTEtMjY3NDM_f0fb252e-ce04-4686-b07d-1540075b987a"
      unitRef="usd">1000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzctMi0xLTEtMjY3NDM_19fb99bc-c115-47f0-8001-3b900a543bde"
      unitRef="usd">20646000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzgtMi0xLTEtMjY3NDM_0a0a4a0d-efcf-4d77-95d7-85aeb6e1db4c"
      unitRef="usd">7085000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzktMi0xLTEtMjY3NDM_e2536c40-ad11-4816-b7fe-4f816385f9d0"
      unitRef="usd">190000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzEwLTItMS0xLTI2NzQz_818790e6-080f-445b-be75-2cba38df1c0f"
      unitRef="usd">1811000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i51ca2631e61a4bb3a123dfcdb6b14489_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzExLTItMS0xLTI2NzQz_16ea260b-b5f9-41d9-891a-325c4a570acb"
      unitRef="usd">2332000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i7f75f5a52913462a88b2d61c4c07a531_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzEyLTItMS0xLTI2NzQz_311e4bff-9911-4836-b98e-b0d552c49a2e"
      unitRef="usd">37465000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:Goodwill
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzEzLTItMS0xLTI2NzQz_0eef5c17-f5b7-4bd5-9a6b-f51c49de8947"
      unitRef="usd">105555000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzE0LTItMS0xLTI2NzQz_b231dd5e-55b1-4848-ac77-090cd0105097"
      unitRef="usd">96000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzE1LTItMS0xLTI2NzQz_e6cb5a27-69f4-454c-a8ce-030f20d6110d"
      unitRef="usd">175181000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzE2LTItMS0xLTI2NzQz_d2845bea-20a7-43cb-bd56-edbd1c86b676"
      unitRef="usd">10437000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzE3LTItMS0xLTI2NzQz_38a949e3-2bba-4d99-b85a-ca7ffdd55ae6"
      unitRef="usd">6702000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i92c2f3e25c054d0ca72735d557edaf69_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90YWJsZTowOTE4NjNhMjc1M2U0Mjc1YWZmMGVlMzgzMWRiOWJlOC90YWJsZXJhbmdlOjA5MTg2M2EyNzUzZTQyNzVhZmYwZWUzODMxZGI5YmU4XzE4LTItMS0xLTI2NzQz_bc5dd93e-3f4b-4b7f-8b80-d1697cd15ddd"
      unitRef="usd">158042000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTE0MDk_7fcaba4e-3adb-40de-818f-b8a908882d8c"
      unitRef="usd">300000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMzg5MjI_91ac5c50-c32e-4384-bf36-0a72fb6b570e"
      unitRef="usd">1400000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <dxpe:BusinessCombinationContingentConsiderationAnnualGrossRevenueTargetPeriod
      contextRef="i34bf381de5664c00a8fbb5662f1ad88d_D20210701-20210701"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTE0NzY_f745afcf-de1c-45cb-98e5-c1fd624d03de">P2Y</dxpe:BusinessCombinationContingentConsiderationAnnualGrossRevenueTargetPeriod>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueLow
      contextRef="i34bf381de5664c00a8fbb5662f1ad88d_D20210701-20210701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzEwOTk1MTE3MTE0NjE_17dcd2cc-cb8f-409c-ba9a-85b34e8b3ec7"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueLow>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh
      contextRef="i34bf381de5664c00a8fbb5662f1ad88d_D20210701-20210701"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMzgwODA_ec03c2c9-49aa-4179-ac0d-2bd8133a49ff"
      unitRef="usd">2500000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i94def03c09ef414e9c6deba5904d771b_I20210701"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzIxOTkwMjMzMzgwOTc_cf3b8901-0fc4-421d-9773-84030938be52"
      unitRef="usd">300000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="i94def03c09ef414e9c6deba5904d771b_I20210701"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMjcvZnJhZzphNzNlN2UwNGEwZTc0NzRiODJkZjhkZGViNTVjNmE3NS90ZXh0cmVnaW9uOmE3M2U3ZTA0YTBlNzQ3NGI4MmRmOGRkZWI1NWM2YTc1XzI3NDg3NzkxNTQ1NzI_026a02de-3a0c-4d45-9559-b7b0d9faceee"
      unitRef="rate">0.076</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90ZXh0cmVnaW9uOjc0NDE3M2FjY2NkMDQzYTQ4OGE4M2Q5YzQ3NDllOWEwXzczNQ_31289960-d7c8-4c84-86ec-d851fa6db368">COMMITMENTS AND CONTINGENCIES&lt;div style="margin-bottom:6pt;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 leases equipment, automobiles and office facilities under various operating leases. The future minimum rental commitments as of December&#160;31, 2021, for non-cancelable leases are as follows (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.178%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;21,189&#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="padding:2px 1pt;text-align:justify;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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,491&#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="padding:2px 1pt;text-align:justify;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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align: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,515&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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 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;66,844&#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;Rental expense for operating leases was $24.2 million, $23.4 million and $25.0 million for the years ended December, 2021, 2020 and 2019, respectively.&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;From time to time, the Company is a party to various legal proceedings arising in the ordinary course of business. While DXP is unable to predict the outcome of these lawsuits, it believes that the ultimate resolution will not have, either individually or in the aggregate, a material adverse effect on DXP&#x2019;s consolidated financial position, cash flows, or results of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90YWJsZTpmZGU4YmRmNDZmOGE0ODhmYjA1ZmJkZjU3NDUxZGM5OS90YWJsZXJhbmdlOmZkZThiZGY0NmY4YTQ4OGZiMDVmYmRmNTc0NTFkYzk5XzAtMS0xLTEtMjY3NDM_cfbbb4fa-244c-4549-ba58-a31c49b71530"
      unitRef="usd">21189000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90YWJsZTpmZGU4YmRmNDZmOGE0ODhmYjA1ZmJkZjU3NDUxZGM5OS90YWJsZXJhbmdlOmZkZThiZGY0NmY4YTQ4OGZiMDVmYmRmNTc0NTFkYzk5XzEtMS0xLTEtMjY3NDM_df4e59a4-6ce5-4d6b-ad84-516cb2253d0b"
      unitRef="usd">15325000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90YWJsZTpmZGU4YmRmNDZmOGE0ODhmYjA1ZmJkZjU3NDUxZGM5OS90YWJsZXJhbmdlOmZkZThiZGY0NmY4YTQ4OGZiMDVmYmRmNTc0NTFkYzk5XzItMS0xLTEtMjY3NDM_4ceb3501-181a-48d6-b0fb-11ada18743e4"
      unitRef="usd">10172000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90YWJsZTpmZGU4YmRmNDZmOGE0ODhmYjA1ZmJkZjU3NDUxZGM5OS90YWJsZXJhbmdlOmZkZThiZGY0NmY4YTQ4OGZiMDVmYmRmNTc0NTFkYzk5XzMtMS0xLTEtMjY3NDM_624681d4-d046-4413-b04c-a1e74c02fe84"
      unitRef="usd">7152000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90YWJsZTpmZGU4YmRmNDZmOGE0ODhmYjA1ZmJkZjU3NDUxZGM5OS90YWJsZXJhbmdlOmZkZThiZGY0NmY4YTQ4OGZiMDVmYmRmNTc0NTFkYzk5XzQtMS0xLTEtMjY3NDM_59c89b5a-ae81-449f-8665-b906f2332d3c"
      unitRef="usd">4491000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90YWJsZTpmZGU4YmRmNDZmOGE0ODhmYjA1ZmJkZjU3NDUxZGM5OS90YWJsZXJhbmdlOmZkZThiZGY0NmY4YTQ4OGZiMDVmYmRmNTc0NTFkYzk5XzUtMS0xLTEtMjY3NDM_aacb177f-ec15-4a8a-8d24-afc90a4a84f3"
      unitRef="usd">8515000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90YWJsZTpmZGU4YmRmNDZmOGE0ODhmYjA1ZmJkZjU3NDUxZGM5OS90YWJsZXJhbmdlOmZkZThiZGY0NmY4YTQ4OGZiMDVmYmRmNTc0NTFkYzk5XzYtMS0xLTEtMjY3NDM_6ed61a99-d413-47be-9b98-104fca0e0bdf"
      unitRef="usd">66844000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90ZXh0cmVnaW9uOjc0NDE3M2FjY2NkMDQzYTQ4OGE4M2Q5YzQ3NDllOWEwXzI5MA_be3eaf41-eca5-447a-b8d9-015982239b26"
      unitRef="usd">24200000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90ZXh0cmVnaW9uOjc0NDE3M2FjY2NkMDQzYTQ4OGE4M2Q5YzQ3NDllOWEwXzI5NA_27fb9524-6398-4336-8538-3b252ef865ec"
      unitRef="usd">23400000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzAvZnJhZzo3NDQxNzNhY2NjZDA0M2E0ODhhODNkOWM0NzQ5ZTlhMC90ZXh0cmVnaW9uOjc0NDE3M2FjY2NkMDQzYTQ4OGE4M2Q5YzQ3NDllOWEwXzMwMQ_f0c8cf47-7c12-4b5f-ae85-6e4253ba4818"
      unitRef="usd">25000000</us-gaap:OperatingLeaseExpense>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzMvZnJhZzoyMWQxNDcyODMzMDY0YjkyOGZiYjJlYjUxOWU4N2Y3YS90ZXh0cmVnaW9uOjIxZDE0NzI4MzMwNjRiOTI4ZmJiMmViNTE5ZTg3ZjdhXzU5MQ_4c0cb5ff-1d97-4fe7-8b59-3550e430139b">EMPLOYEE BENEFIT PLANSThe Company offers a 401(k) plan which is eligible to substantially all employees in the United States. For the year ended December&#160;31, 2021, the Company elected to match employee contributions at a rate of 50 percent of up to 4 percent of salary deferral. The Company contributed $1.7 million, $0.7 million, and $1.7 million to the 401(k) plan in the years ended December&#160;31, 2021, 2020, and 2019, respectively. In March 2020, the Company suspended the employee match program which was reinstated in January 2021.</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="idc7e05761ee241a4a56ec3b11ac142b6_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzMvZnJhZzoyMWQxNDcyODMzMDY0YjkyOGZiYjJlYjUxOWU4N2Y3YS90ZXh0cmVnaW9uOjIxZDE0NzI4MzMwNjRiOTI4ZmJiMmViNTE5ZTg3ZjdhXzIzMQ_3e975274-3838-49a1-8848-ef479095011c"
      unitRef="number">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="idc7e05761ee241a4a56ec3b11ac142b6_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzMvZnJhZzoyMWQxNDcyODMzMDY0YjkyOGZiYjJlYjUxOWU4N2Y3YS90ZXh0cmVnaW9uOjIxZDE0NzI4MzMwNjRiOTI4ZmJiMmViNTE5ZTg3ZjdhXzI0Mw_8edfeb85-65eb-40d1-a424-d6daea510bed"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="idc7e05761ee241a4a56ec3b11ac142b6_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzMvZnJhZzoyMWQxNDcyODMzMDY0YjkyOGZiYjJlYjUxOWU4N2Y3YS90ZXh0cmVnaW9uOjIxZDE0NzI4MzMwNjRiOTI4ZmJiMmViNTE5ZTg3ZjdhXzI5MA_ba9dc14d-7487-439b-8801-beba7fa03e82"
      unitRef="usd">1700000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i6705d7b080904523a59360d01d4ef4dd_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzMvZnJhZzoyMWQxNDcyODMzMDY0YjkyOGZiYjJlYjUxOWU4N2Y3YS90ZXh0cmVnaW9uOjIxZDE0NzI4MzMwNjRiOTI4ZmJiMmViNTE5ZTg3ZjdhXzI5NA_d5c5b955-0c0c-4828-a2c8-e332f4c8392e"
      unitRef="usd">700000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i3882157b5d1942f2856399cc9e8568ef_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzMvZnJhZzoyMWQxNDcyODMzMDY0YjkyOGZiYjJlYjUxOWU4N2Y3YS90ZXh0cmVnaW9uOjIxZDE0NzI4MzMwNjRiOTI4ZmJiMmViNTE5ZTg3ZjdhXzMwMg_426ac2b3-dd3e-4dde-8a0e-c33a3a2c6cfb"
      unitRef="usd">1700000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzYvZnJhZzo4Y2ViYTIyYTA5MDA0M2ViOGYwMjBmNzQ4YmZlZTllMi90ZXh0cmVnaW9uOjhjZWJhMjJhMDkwMDQzZWI4ZjAyMGY3NDhiZmVlOWUyXzcyMw_bbaed3a8-534e-4636-8b0c-c17b396655a7">OTHER COMPREHENSIVE INCOMEOther comprehensive income generally represents all changes in shareholders&#x2019; equity during the period, except those resulting from investments by, or distributions to, shareholders.During 2012 and 2013, the Company acquired four entities that operate in Canada. These Canadian entities maintain financial data in Canadian dollars. Upon consolidation, the Company translates the financial data from these foreign subsidiaries into U.S. dollars and records cumulative translation adjustments in other comprehensive income. The Company recorded $0.7 million, $1.9 million and $(0.7) million in translation adjustments, net of tax, in other comprehensive income during the years ended December&#160;31, 2021, 2020 and 2019, respectively.</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <dxpe:NumberOfEntitiesAcquiredWhichOperateInCanada
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzYvZnJhZzo4Y2ViYTIyYTA5MDA0M2ViOGYwMjBmNzQ4YmZlZTllMi90ZXh0cmVnaW9uOjhjZWJhMjJhMDkwMDQzZWI4ZjAyMGY3NDhiZmVlOWUyXzI2OQ_32ab3945-8b62-4d50-b958-ce78f982ddc6"
      unitRef="entity">4</dxpe:NumberOfEntitiesAcquiredWhichOperateInCanada>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzYvZnJhZzo4Y2ViYTIyYTA5MDA0M2ViOGYwMjBmNzQ4YmZlZTllMi90ZXh0cmVnaW9uOjhjZWJhMjJhMDkwMDQzZWI4ZjAyMGY3NDhiZmVlOWUyXzIxOTkwMjMyNTY0ODQ_1bee1200-8de6-4f6c-9850-bbf071d685ae"
      unitRef="usd">700000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzYvZnJhZzo4Y2ViYTIyYTA5MDA0M2ViOGYwMjBmNzQ4YmZlZTllMi90ZXh0cmVnaW9uOjhjZWJhMjJhMDkwMDQzZWI4ZjAyMGY3NDhiZmVlOWUyXzIxOTkwMjMyNTYzMzg_c5a883c5-f755-41ac-a0d6-32e37287060e"
      unitRef="usd">1900000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzYvZnJhZzo4Y2ViYTIyYTA5MDA0M2ViOGYwMjBmNzQ4YmZlZTllMi90ZXh0cmVnaW9uOjhjZWJhMjJhMDkwMDQzZWI4ZjAyMGY3NDhiZmVlOWUyXzIxOTkwMjMyNTY0OTI_a0d85350-9c5d-4f3a-bd55-b08feb51ee87"
      unitRef="usd">-700000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE5ODA_48fdb8e6-9440-4568-b177-3de5c3823646">SEGMENT AND GEOGRAPHICAL REPORTING&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 reportable business segments are: Service Centers, Innovative Pumping Solutions and Supply Chain Services. The Service Centers segment is engaged in providing maintenance, MRO products and equipment, including logistics capabilities, to industrial customers. The Service Centers segment provides a wide range of MRO products in the rotating equipment, bearing, power transmission, hose, fluid power, metal working, fastener, industrial supply, safety products and safety services categories. The Innovative Pumping Solutions segment fabricates and assembles custom-made pump packages, remanufactures pumps and manufactures branded private label pumps. The Supply Chain Services segment provides a wide range of MRO products and manages all or part of a customer's supply chain, including warehouse and inventory management.&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;The high degree of integration of the Company&#x2019;s operations necessitates the use of a substantial number of allocations and apportionments in the determination of business segment information. Sales are shown net of intersegment eliminations.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&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 out financial information related to the Company&#x2019;s segments (&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;in thousands&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;):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.029%"/&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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Service Centers&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:10pt;font-weight:700;line-height:100%"&gt;Innovative Pumping Solutions&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:10pt;font-weight:700;line-height:100%"&gt;Supply Chain 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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&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;Product sales (recognized at a point in time)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;715,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;140,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;855,535&#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;Inventory management services (recognized over contract life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;17,410&#160;&lt;/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;17,410&#160;&lt;/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;Staffing services (day-rate basis)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,385&#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;&#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;101,385&#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;Customized pump production (recognized over time)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 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;139,591&#160;&lt;/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;139,591&#160;&lt;/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 Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;816,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;139,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;157,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,113,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,931&#160;&lt;/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,070&#160;&lt;/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,963&#160;&lt;/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;122,964&#160;&lt;/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;Identifiable assets at year end&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;642,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;134,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;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;44,684&#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;821,242&#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;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;999&#160;&lt;/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;2,574&#160;&lt;/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;25&#160;&lt;/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,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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Proceeds from sale of fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#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;/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;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,475&#160;&lt;/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,270&#160;&lt;/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;389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,134&#160;&lt;/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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,107&#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,090&#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;17,197&#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;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;12,407&#160;&lt;/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;7,270&#160;&lt;/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,412&#160;&lt;/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;21,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.029%"/&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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Service Centers&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:10pt;font-weight:700;line-height:100%"&gt;Innovative Pumping Solutions&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:10pt;font-weight:700;line-height:100%"&gt;Supply Chain 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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&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;Product sales (recognized at a point in time)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;595,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;138,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;733,967&#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;Inventory management services (recognized over contract life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,005&#160;&lt;/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;16,005&#160;&lt;/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;Staffing services (day-rate basis)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,303&#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;&#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;67,303&#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;Customized pump production (recognized over time)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;187,991&#160;&lt;/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;187,991&#160;&lt;/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 Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;662,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;187,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;154,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,005,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,834&#160;&lt;/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;16,882&#160;&lt;/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,804&#160;&lt;/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;101,520&#160;&lt;/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;Identifiable assets at year end&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;564,921&#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;130,505&#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;56,721&#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;752,147&#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;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,254&#160;&lt;/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,457&#160;&lt;/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;5,711&#160;&lt;/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;Proceeds from sale of fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#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;/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;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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;4,441&#160;&lt;/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&#160;&lt;/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;8,127&#160;&lt;/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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,989&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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,298&#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;12,287&#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;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;11,506&#160;&lt;/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;7,360&#160;&lt;/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,705&#160;&lt;/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;20,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.029%"/&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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Service Centers&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:10pt;font-weight:700;line-height:100%"&gt;Innovative Pumping Solutions&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:10pt;font-weight:700;line-height:100%"&gt;Supply Chain 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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&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;Product sales (recognized at a point in time)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;701,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;184,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;886,171&#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;Inventory management services (recognized over contract life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,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;16,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;/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;Staffing services (day-rate basis)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,514&#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;&#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;58,514&#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;Customized pump production (recognized over time)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;303,655&#160;&lt;/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;303,655&#160;&lt;/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 Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;759,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;303,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;201,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,264,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,442&#160;&lt;/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,699&#160;&lt;/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,267&#160;&lt;/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;131,408&#160;&lt;/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;Identifiable assets at year end&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;463,531&#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;212,015&#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;56,714&#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;732,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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,347&#160;&lt;/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;922&#160;&lt;/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,602&#160;&lt;/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;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,517&#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;4,602&#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;285&#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,404&#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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,230&#160;&lt;/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,855&#160;&lt;/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;989&#160;&lt;/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,074&#160;&lt;/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;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,786&#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,747&#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;1,965&#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;19,498&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 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="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;122,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;101,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;131,408&#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;Adjustments for:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&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 intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,197&#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;12,287&#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;15,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Impairment and other charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;59,883&#160;&lt;/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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate and other expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,018&#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;48,922&#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;Total operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;39,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,668)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;67,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;21,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;20,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Other expenses (income), net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(414)&lt;/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;74&#160;&lt;/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;(45)&lt;/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;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(48,313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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;The Company had capital expenditures at Corporate of $2.4 million, $1.0 million, and $9.5 million for the years ended December&#160;31, 2021, 2020, and 2019, respectively. The Company had identifiable assets at Corporate of $85.0 million, $114.1 million, and $56.8 million as of December&#160;31, 2021, 2020, and 2019, respectively. Corporate depreciation was $1.8 million, $2.3 million, and $1.7 million for the years ended December&#160;31, 2021, 2020, and 2019, 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&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;Geographical Information&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;Revenues are presented in geographic area based on location of the facility shipping products or providing services. Long-lived assets are based on physical locations and are comprised of the net book value of property.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s revenues and property and equipment by geographical location are as follows &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;(in millions)&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;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&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;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;1,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;1,163&#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;Canada&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/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;74&#160;&lt;/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;102&#160;&lt;/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 7.75pt;text-align:left;vertical-align: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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,005&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Property and Equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&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;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;52&#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;Canada&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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&#160;&lt;/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 7.75pt;text-align:left;vertical-align: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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE5ODU_460e8579-c78e-401c-9e57-34d0eb148004">SEGMENT AND GEOGRAPHICAL REPORTING&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 reportable business segments are: Service Centers, Innovative Pumping Solutions and Supply Chain Services. The Service Centers segment is engaged in providing maintenance, MRO products and equipment, including logistics capabilities, to industrial customers. The Service Centers segment provides a wide range of MRO products in the rotating equipment, bearing, power transmission, hose, fluid power, metal working, fastener, industrial supply, safety products and safety services categories. The Innovative Pumping Solutions segment fabricates and assembles custom-made pump packages, remanufactures pumps and manufactures branded private label pumps. The Supply Chain Services segment provides a wide range of MRO products and manages all or part of a customer's supply chain, including warehouse and inventory management.&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;The high degree of integration of the Company&#x2019;s operations necessitates the use of a substantial number of allocations and apportionments in the determination of business segment information. Sales are shown net of intersegment eliminations.&lt;/span&gt;&lt;/div&gt;&lt;div&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;Geographical Information&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;Revenues are presented in geographic area based on location of the facility shipping products or providing services. Long-lived assets are based on physical locations and are comprised of the net book value of property.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE5ODY_535bcb40-1313-437d-bafb-6b37b245e77a">&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 out financial information related to the Company&#x2019;s segments (&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;in thousands&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;):&lt;/span&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.029%"/&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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Service Centers&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:10pt;font-weight:700;line-height:100%"&gt;Innovative Pumping Solutions&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:10pt;font-weight:700;line-height:100%"&gt;Supply Chain 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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&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;Product sales (recognized at a point in time)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;715,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;140,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;855,535&#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;Inventory management services (recognized over contract life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;17,410&#160;&lt;/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;17,410&#160;&lt;/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;Staffing services (day-rate basis)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,385&#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;&#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;101,385&#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;Customized pump production (recognized over time)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 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;139,591&#160;&lt;/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;139,591&#160;&lt;/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 Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;816,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;139,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;157,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,113,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,931&#160;&lt;/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,070&#160;&lt;/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,963&#160;&lt;/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;122,964&#160;&lt;/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;Identifiable assets at year end&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;642,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;134,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;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;44,684&#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;821,242&#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;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;999&#160;&lt;/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;2,574&#160;&lt;/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;25&#160;&lt;/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,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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Proceeds from sale of fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#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;/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;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,475&#160;&lt;/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,270&#160;&lt;/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;389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,134&#160;&lt;/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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,107&#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,090&#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;17,197&#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;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;12,407&#160;&lt;/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;7,270&#160;&lt;/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,412&#160;&lt;/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;21,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.029%"/&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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Service Centers&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:10pt;font-weight:700;line-height:100%"&gt;Innovative Pumping Solutions&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:10pt;font-weight:700;line-height:100%"&gt;Supply Chain 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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&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;Product sales (recognized at a point in time)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;595,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;138,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;733,967&#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;Inventory management services (recognized over contract life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,005&#160;&lt;/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;16,005&#160;&lt;/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;Staffing services (day-rate basis)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,303&#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;&#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;67,303&#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;Customized pump production (recognized over time)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;187,991&#160;&lt;/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;187,991&#160;&lt;/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 Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;662,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;187,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;154,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,005,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,834&#160;&lt;/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;16,882&#160;&lt;/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,804&#160;&lt;/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;101,520&#160;&lt;/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;Identifiable assets at year end&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;564,921&#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;130,505&#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;56,721&#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;752,147&#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;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,254&#160;&lt;/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,457&#160;&lt;/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;5,711&#160;&lt;/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;Proceeds from sale of fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#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;/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;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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;4,441&#160;&lt;/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&#160;&lt;/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;8,127&#160;&lt;/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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,989&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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,298&#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;12,287&#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;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;11,506&#160;&lt;/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;7,360&#160;&lt;/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,705&#160;&lt;/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;20,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.194%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.029%"/&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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Service Centers&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:10pt;font-weight:700;line-height:100%"&gt;Innovative Pumping Solutions&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:10pt;font-weight:700;line-height:100%"&gt;Supply Chain 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:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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;&#160;&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;Product sales (recognized at a point in time)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;701,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;184,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;886,171&#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;Inventory management services (recognized over contract life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;16,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;16,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;/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;Staffing services (day-rate basis)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,514&#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;&#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;58,514&#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;Customized pump production (recognized over time)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;303,655&#160;&lt;/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;303,655&#160;&lt;/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 Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;759,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;303,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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;201,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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:2pt 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,264,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,442&#160;&lt;/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,699&#160;&lt;/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,267&#160;&lt;/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;131,408&#160;&lt;/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;Identifiable assets at year end&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;463,531&#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;212,015&#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;56,714&#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;732,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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,347&#160;&lt;/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;922&#160;&lt;/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,602&#160;&lt;/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;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,517&#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;4,602&#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;285&#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,404&#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;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,230&#160;&lt;/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,855&#160;&lt;/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;989&#160;&lt;/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,074&#160;&lt;/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;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,786&#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,747&#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;1,965&#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;19,498&#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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i98d1b1272dc841efac76569af3832653_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzItMS0xLTEtMjY3NDM_a4d8967f-0a94-4701-9f3a-9d7459626164"
      unitRef="usd">715111000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic377387a8e2149579d19bf230a9ae40a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzItMy0xLTEtMjY3NDM_6fd76796-8d02-452a-aa61-2d8b3a32ad26"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if6aa227bd4b7476f82ac5ef14bcfafb7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzItNS0xLTEtMjY3NDM_f8db97bc-b2c3-4861-841f-de9b44be0773"
      unitRef="usd">140424000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6a3882dcf6584156b5ca0da7fb5d716d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzItNy0xLTEtMjY3NDM_3df99ae5-4f6f-4e03-bd0a-fab08ca81a6b"
      unitRef="usd">855535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie515fd8298c2453fb4f61ae583718519_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzMtMS0xLTEtMjY3NDM_f87f7513-947c-470f-b2de-acc7b929cdb8"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id910c27044be4e829e2ef20182386ca8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzMtMy0xLTEtMjY3NDM_045633e9-7c7d-4ad6-84a2-c9036b556fd5"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibb0c57a7512244ad8d513b3bcbd80479_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzMtNS0xLTEtMjY3NDM_3ffb0790-de64-4ce1-9b74-330262e8ef5a"
      unitRef="usd">17410000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id6befe0511ef4e22b0ff7c29a0d420c3_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzMtNy0xLTEtMjY3NDM_0d276472-9464-451c-9b0e-5166fb75e84c"
      unitRef="usd">17410000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id38da812d94346bdbd761233b9728925_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzQtMS0xLTEtMjY3NDM_84246499-1579-46dd-8040-64510ddd7802"
      unitRef="usd">101385000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i39fefd5d2bb640e5b3be09f2c341bcd8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzQtMy0xLTEtMjY3NDM_f8fcdc54-c8a8-4179-a4d1-a4f4e16c9037"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i36bff4794b1945bfafc2cd645dffd976_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzQtNS0xLTEtMjY3NDM_2e0378ef-1d5c-4505-8acf-e111336027d8"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic1f66981695843fda314e48dcde0464b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzQtNy0xLTEtMjY3NDM_e2b8a85c-3739-4b55-a7db-827071a5005e"
      unitRef="usd">101385000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i817eca7d27bf49c2a6363e4304af3e86_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzUtMS0xLTEtMjY3NDM_9c26465f-1b7c-4038-b672-998bac3600df"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i22f37db0b4d1450fb66de87c9661af72_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzUtMy0xLTEtMjY3NDM_4ce018a1-fb7c-498b-ab48-191b14593a98"
      unitRef="usd">139591000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia522410eb3514ae88987ab02dd426a94_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzUtNS0xLTEtMjY3NDM_4dc61687-c50e-4f71-812b-c66a82392ab8"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i223ba6fd7ba0457bb49639c6298a6649_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzUtNy0xLTEtMjY3NDM_a063899e-4a73-4100-b523-b529e1c16519"
      unitRef="usd">139591000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzYtMS0xLTEtMjY3NDM_a47aece8-7e76-401b-b027-0f587fddb15d"
      unitRef="usd">816496000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i852173852d3f42db91c965da23faa647_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzYtMy0xLTEtMjY3NDM_753ada14-d691-44cb-a5c1-2c30da657e7d"
      unitRef="usd">139591000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzYtNS0xLTEtMjY3NDM_ba32456b-517f-470f-8129-fd8eeb535d34"
      unitRef="usd">157834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzYtNy0xLTEtMjY3NDM_c1819ab6-5d58-4c05-b369-31f14e79cd77"
      unitRef="usd">1113921000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzctMS0xLTEtMjY3NDM_641562f7-836d-4f16-82b2-3077d9ab2918"
      unitRef="usd">98931000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i852173852d3f42db91c965da23faa647_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzctMy0xLTEtMjY3NDM_134282f2-f25a-4268-bd8b-21cfe00e67d3"
      unitRef="usd">12070000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzctNS0xLTEtMjY3NDM_3ad5e1c6-e95a-4942-88ed-dcf3af3287b7"
      unitRef="usd">11963000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzctNy0xLTEtMjY3NDM_bb4f7fb9-15c1-4b69-ba9a-516aae856413"
      unitRef="usd">122964000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:AssetsExceptCorporate
      contextRef="if887a01a5a0c48efb86e5e309dc17e80_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzgtMS0xLTEtMjY3NDM_90c74a56-0e74-45d7-a357-5f2534400589"
      unitRef="usd">642184000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="i79c6d27e42894f8f8571fda731d45cd4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzgtMy0xLTEtMjY3NDM_b3ab3740-e447-47ef-a69b-182398228e61"
      unitRef="usd">134374000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="i7cf73b0e098d4f448e2aa3c7ba240cc7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzgtNS0xLTEtMjY3NDM_ca11da8d-bc11-43fd-84a7-39edf7fe8688"
      unitRef="usd">44684000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzgtNy0xLTEtMjY3NDM_4ea3f287-35e1-4e9c-ac7d-e842d40122d5"
      unitRef="usd">821242000</dxpe:AssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzktMS0xLTEtMjY3NDM_bd0ff6e9-7303-4ff7-8e55-b22b379b9434"
      unitRef="usd">999000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i852173852d3f42db91c965da23faa647_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzktMy0xLTEtMjY3NDM_792fd7e2-f60b-42b8-8baa-5ecb171bb5bc"
      unitRef="usd">2574000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzktNS0xLTEtMjY3NDM_3a9dd3e3-08a5-452f-be23-684500cbb8b2"
      unitRef="usd">25000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzktNy0xLTEtMjY3NDM_bb976fbc-17cf-4746-9e81-3fe82e371474"
      unitRef="usd">3598000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEwLTEtMS0xLTI2NzQz_561e2254-c6fb-4aab-9c3d-23a7ac502855"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="i852173852d3f42db91c965da23faa647_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEwLTMtMS0xLTI2NzQz_1a403e02-386b-4e1d-ae46-0c7427fbb427"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEwLTUtMS0xLTI2NzQz_37fd3679-8367-4037-94d1-25dd16126931"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEwLTctMS0xLTI2NzQz_b9bbfc6c-91f7-49c1-a26d-9aa126ba2b98"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <dxpe:DepreciationExceptCorporate
      contextRef="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzExLTEtMS0xLTI2NzQz_ba601432-9089-4b29-bfcc-8bff689deaf2"
      unitRef="usd">3475000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i852173852d3f42db91c965da23faa647_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzExLTMtMS0xLTI2NzQz_b1d120ad-f71a-48ad-9719-562e18f278e0"
      unitRef="usd">4270000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzExLTUtMS0xLTI2NzQz_92a9f6c0-721f-44b5-a507-339ecfca2ee7"
      unitRef="usd">389000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzExLTctMS0xLTI2NzQz_73008dec-0472-4b9b-a0f7-83f23c110efb"
      unitRef="usd">8134000</dxpe:DepreciationExceptCorporate>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEyLTEtMS0xLTI2NzQz_a4da9838-43a7-4de5-8490-a3bd1f9f59e3"
      unitRef="usd">11107000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i852173852d3f42db91c965da23faa647_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEyLTMtMS0xLTI2NzQz_1c7c72b1-e76d-4b08-9d2e-a9e51a8ed6c8"
      unitRef="usd">6090000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEyLTUtMS0xLTI2NzQz_e15ad4ba-1cb5-4b14-b944-28585f7eb5c9"
      unitRef="usd">0</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEyLTctMS0xLTI2NzQz_6ded25ed-e66d-47e0-8f42-267d2e99af4b"
      unitRef="usd">17197000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:InterestExpense
      contextRef="i0b5ae1a63f2a49e59d6b72d575be1e46_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEzLTEtMS0xLTI2NzQz_87f3db9d-2c83-432e-9734-46001578ead8"
      unitRef="usd">12407000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i852173852d3f42db91c965da23faa647_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEzLTMtMS0xLTI2NzQz_396e7f3e-7b1e-4232-bb11-8d22123e563b"
      unitRef="usd">7270000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i34918ded26b443ab8fc612187591c2d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEzLTUtMS0xLTI2NzQz_a70a9b52-48d5-42d3-b9a1-1c9bb530adaa"
      unitRef="usd">1412000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo2ZWYyMmFkZGM0OWU0YjgxYjk4NjFiODYzZDY0NzFhMy90YWJsZXJhbmdlOjZlZjIyYWRkYzQ5ZTRiODFiOTg2MWI4NjNkNjQ3MWEzXzEzLTctMS0xLTI2NzQz_50d693e8-7fe4-4e1b-9eda-2ac3a69dd8c6"
      unitRef="usd">21089000</us-gaap:InterestExpense>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic4d87156622a4afb95033de5f563cc7a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzItMS0xLTEtMjY3NDM_f1d1b158-b4cb-4ab0-8535-9f7eb60e3801"
      unitRef="usd">595314000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6468843d639f41a5bae084d53a5dee52_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzItMy0xLTEtMjY3NDM_7649adce-431f-414c-8bb0-05e590259861"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i003d503891f64bda95de6b20a6f2d56c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzItNS0xLTEtMjY3NDM_fc906224-fc27-4766-aaeb-521cfedeed17"
      unitRef="usd">138653000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic8fc476f948048b2bfb0dc574f0b5d19_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzItNy0xLTEtMjY3NDM_09555241-3f80-45d9-ae89-04dcaf2848ea"
      unitRef="usd">733967000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i704af04c472c42c3b5a1d02dbb9a6138_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzMtMS0xLTEtMjY3NDM_be83b522-28a0-47f0-898c-119d6060acb8"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i655db900b6ef42bea76b77cfe49c0264_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzMtMy0xLTEtMjY3NDM_2cbc1483-0425-46f8-92d3-30c99561d972"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic2f939c346e84d46b6b6549ef3114015_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzMtNS0xLTEtMjY3NDM_edce3ba1-dfa8-4a32-8d4f-6214c524e0a8"
      unitRef="usd">16005000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1ad448cd95ba432cb84c3ca68c8f1819_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzMtNy0xLTEtMjY3NDM_8426eeff-5189-4f69-8e22-db169356f1cf"
      unitRef="usd">16005000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iad5bbc7a1f0940ebb5b9708f7cce2653_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzQtMS0xLTEtMjY3NDM_1e6dc22c-a2b1-4b26-9aae-b8000d0bfb3a"
      unitRef="usd">67303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieb70f0287fbd4619b51347bb75562252_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzQtMy0xLTEtMjY3NDM_8b4d5a2d-931a-4414-8c13-340fbdcd6a2f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i66595031c43141dc9dd6823dc851f0cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzQtNS0xLTEtMjY3NDM_dafcf4d3-0ba7-4d0e-a125-a6bee44818e4"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id1749d1537894afbbda2dbeb5ae4b6f4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzQtNy0xLTEtMjY3NDM_5da98250-0b30-4bb7-8a98-8cb929938102"
      unitRef="usd">67303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8e6d5eba599e4472bcd1a64c9b01239a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzUtMS0xLTEtMjY3NDM_485c7f47-ea2e-407d-9105-2755ad081e88"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icb9ec134950346859dd075c6d40a6f9d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzUtMy0xLTEtMjY3NDM_d0f80a2c-4987-46cd-8a30-0f487e6703a5"
      unitRef="usd">187991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i247923baa1b04680b8c0a0302c17182a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzUtNS0xLTEtMjY3NDM_6d5b1789-e727-43c0-9998-b1f5e69d798e"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if1fe3e2545f640d2a2027909ee64c76a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzUtNy0xLTEtMjY3NDM_98fb738a-8119-44b0-881f-84fd043a5fdb"
      unitRef="usd">187991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzYtMS0xLTEtMjY3NDM_88232751-c3e7-491b-9792-9f0e7243103e"
      unitRef="usd">662617000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzYtMy0xLTEtMjY3NDM_a67e85f2-0ff3-41b5-97e7-071dba5b45a5"
      unitRef="usd">187991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzYtNS0xLTEtMjY3NDM_e2306c79-e802-4c64-bd6b-79017fd31d72"
      unitRef="usd">154658000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzYtNy0xLTEtMjY3NDM_e337c15a-548b-4b65-8a30-3fd226cdbe03"
      unitRef="usd">1005266000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzctMS0xLTEtMjY3NDM_6a87c7c4-799f-472c-8b8d-a9ebc62eba02"
      unitRef="usd">71834000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzctMy0xLTEtMjY3NDM_8b020f87-7292-489e-a533-ac8e2181e89c"
      unitRef="usd">16882000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzctNS0xLTEtMjY3NDM_95ebcf9d-49e5-4a44-a8b8-c677fea226d9"
      unitRef="usd">12804000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzctNy0xLTEtMjY3NDM_b189c29a-9d8f-40f6-a96c-b0cdc83399b7"
      unitRef="usd">101520000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:AssetsExceptCorporate
      contextRef="i3693573a68784c08979a484011fee7d0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzgtMS0xLTEtMjY3NDM_0e24fccd-0f70-4cda-a1c4-eca26349eb39"
      unitRef="usd">564921000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="ic8ac5250d2864371b97d0e09b9ce0145_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzgtMy0xLTEtMjY3NDM_d0d31c7f-49fc-4491-aacf-cf882cc71b45"
      unitRef="usd">130505000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="i0378301faa63473184f98a1d17758b3a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzgtNS0xLTEtMjY3NDM_95f39f91-e0f7-4bc7-a58f-c0ddb2c0231a"
      unitRef="usd">56721000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzgtNy0xLTEtMjY3NDM_dea76aa1-8791-47c4-ab18-4f74abb9ba0c"
      unitRef="usd">752147000</dxpe:AssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzktMS0xLTEtMjY3NDM_0132ad59-7803-49c1-9861-f67a9e2b461e"
      unitRef="usd">1254000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzktMy0xLTEtMjY3NDM_f8ca973c-ad4b-46ba-8bfd-6b480c8091bf"
      unitRef="usd">4457000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzktNS0xLTEtMjY3NDM_d3b5e3b7-ea58-49c0-9b09-05cd75afa2db"
      unitRef="usd">0</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzktNy0xLTEtMjY3NDM_1d53a67e-235a-4c6e-a495-0085d18ee07f"
      unitRef="usd">5711000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEwLTEtMS0xLTI2NzQz_e09c7634-92fd-4609-bb2d-293f57a5b206"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEwLTMtMS0xLTI2NzQz_b054280d-13b7-44f5-b12a-be00f1b507c4"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEwLTUtMS0xLTI2NzQz_97602177-4da5-465b-971d-e498a40fc038"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <us-gaap:ProceedsFromSaleOfFurnitureAndFixtures
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEwLTctMS0xLTI2NzQz_ea798e20-7721-4772-b8dc-371cd21075f2"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfFurnitureAndFixtures>
    <dxpe:DepreciationExceptCorporate
      contextRef="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzExLTEtMS0xLTI2NzQz_0d2b4b48-dea3-40d6-8880-82521ad37984"
      unitRef="usd">3299000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzExLTMtMS0xLTI2NzQz_d282bf31-8ebf-4bd5-aa33-c1284f1672ed"
      unitRef="usd">4441000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzExLTUtMS0xLTI2NzQz_5b0c0aea-7b66-4bb5-93d8-b0c25487c668"
      unitRef="usd">387000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzExLTctMS0xLTI2NzQz_5556f16b-4362-4084-b05a-670c1fe07ea6"
      unitRef="usd">8127000</dxpe:DepreciationExceptCorporate>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEyLTEtMS0xLTI2NzQz_f185dcdf-8157-4624-9272-5da65e4dd024"
      unitRef="usd">6989000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEyLTMtMS0xLTI2NzQz_3480bf76-c146-44a5-a9e0-c611d26748cc"
      unitRef="usd">5298000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEyLTUtMS0xLTI2NzQz_754edd1f-ef72-403d-9bcb-a1bdfbcdba80"
      unitRef="usd">0</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEyLTctMS0xLTI2NzQz_7a5dd642-0532-4331-af4f-2f09e1ee8a1d"
      unitRef="usd">12287000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:InterestExpense
      contextRef="i463ff4146a2b4bc78e5eb675adafa71e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEzLTEtMS0xLTI2NzQz_59630e88-ee97-44d7-a1fb-13843b1e1011"
      unitRef="usd">11506000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i165f3088a4ee481dba2d44f280c22d83_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEzLTMtMS0xLTI2NzQz_53e1b07b-ae7c-4803-9b8c-b003b0a06e24"
      unitRef="usd">7360000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i4f9c28b90ece4ac88f1d0c73441256e3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEzLTUtMS0xLTI2NzQz_f673049e-2a55-4e80-9ab5-5f3bcf312fa6"
      unitRef="usd">1705000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5MDgxNjRjNzQ3YzI0ODUyOWNmZGMwMGFmNDI4NmExYS90YWJsZXJhbmdlOjkwODE2NGM3NDdjMjQ4NTI5Y2ZkYzAwYWY0Mjg2YTFhXzEzLTctMS0xLTI2NzQz_f98ef3f5-7bce-4609-8c54-0603069b35d1"
      unitRef="usd">20571000</us-gaap:InterestExpense>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9c651fa72203469795b51d08c596eeb0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzItMS0xLTEtMjY3NDM_c05f7f61-1f43-4115-b6c7-1c6a45be6bb6"
      unitRef="usd">701404000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0cc61b41c1094ae3a9f7d9071cdc4ed9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzItMy0xLTEtMjY3NDM_321a1d26-b06d-4852-a8b0-9f8c37e3aa65"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i12f02ae67666415081d5c74d16ebd6c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzItNS0xLTEtMjY3NDM_460f61b6-430e-4fbe-83cc-1ab7c4fdef5a"
      unitRef="usd">184767000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if614050afcb6420681c28da22306e02b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzItNy0xLTEtMjY3NDM_f58e2a77-84c0-4f1e-b988-255226eae243"
      unitRef="usd">886171000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6e1e8441f44c45a78015e11168e3c985_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzMtMS0xLTEtMjY3NDM_889303de-7e03-4de4-aea6-e2a72ba8e2f4"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05e455c508e24803b8aceb43eb3a020c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzMtMy0xLTEtMjY3NDM_582c8407-bb5c-4401-bcdc-6723e66760bb"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieb2ef441a4fe4036890382c47ad0dad1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzMtNS0xLTEtMjY3NDM_c8791a44-d73b-460c-bbf4-13d232738d63"
      unitRef="usd">16511000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8f72bbec83394e189e85ad27d14642bc_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzMtNy0xLTEtMjY3NDM_bc11af17-ebd5-4c5d-94ae-21504d93fb4e"
      unitRef="usd">16511000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0960749f9a044e6aa08abc1018e5d39e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzQtMS0xLTEtMjY3NDM_186fd2b4-a06c-47af-8aca-ac928d76f3ca"
      unitRef="usd">58514000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id59cd65a9f6f457f8f3f178cef4078fb_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzQtMy0xLTEtMjY3NDM_4e696798-5666-4959-9e7a-8c1f095ebf71"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i761fc865e226430abef45b988636e71b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzQtNS0xLTEtMjY3NDM_85c2451d-1892-4753-8a7b-7afbefd6df13"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0325aa9076d843d480e821c28879935b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzQtNy0xLTEtMjY3NDM_346e2479-2bd5-4c04-81bb-b1519808ff2c"
      unitRef="usd">58514000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if844837dcad04d55bfe1746fd0b6cc29_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzUtMS0xLTEtMjY3NDM_a96e691d-9757-4456-a420-ced91dcbbe4a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id41e91fce25a42d6bf6721cbf6d91a69_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzUtMy0xLTEtMjY3NDM_94da90a6-09fc-44d7-98c8-3023454bbf7a"
      unitRef="usd">303655000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i84d5864e4976478889bbc363b5f2e5c0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzUtNS0xLTEtMjY3NDM_7db5ce7a-4e2f-4284-9e40-409ed79208fb"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibad782b9e113454baf7952e932712dde_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzUtNy0xLTEtMjY3NDM_ba92afd4-1d38-4179-98e5-018d062946ce"
      unitRef="usd">303655000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3a48e114e0b2495f9c42d7bd3e7d0bf6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzYtMS0xLTEtMjY3NDM_361c4298-8014-458e-bd6a-915259976b72"
      unitRef="usd">759918000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05843c6cdac64781ac67833e5e0dd987_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzYtMy0xLTEtMjY3NDM_d3be0e8a-f3d6-4dbd-94da-0c186d1afed1"
      unitRef="usd">303655000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9b0c995e66514e2fa9f909d60a843ce7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzYtNS0xLTEtMjY3NDM_23d7f4e6-7b7b-4bfd-912f-7a7d51743202"
      unitRef="usd">201278000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzYtNy0xLTEtMjY3NDM_a84dc3b9-d8d8-46b4-8fbb-17ad70e1378d"
      unitRef="usd">1264851000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i3a48e114e0b2495f9c42d7bd3e7d0bf6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzctMS0xLTEtMjY3NDM_fc524842-c159-4f96-937f-b8c3552a9062"
      unitRef="usd">85442000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i05843c6cdac64781ac67833e5e0dd987_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzctMy0xLTEtMjY3NDM_7294167f-d9a0-4688-ad4f-d1a7356dd8a6"
      unitRef="usd">30699000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i9b0c995e66514e2fa9f909d60a843ce7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzctNS0xLTEtMjY3NDM_08aae0bf-39eb-480d-b9d7-d3af16ca8d20"
      unitRef="usd">15267000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzctNy0xLTEtMjY3NDM_a6bf3990-a70c-4518-afe8-376482360ae5"
      unitRef="usd">131408000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:AssetsExceptCorporate
      contextRef="i54627b19b03142a4b788e552d96c4416_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzgtMS0xLTEtMjY3NDM_6e0b873b-909a-4274-93ae-ab3f798fc00f"
      unitRef="usd">463531000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="ia25104a1206449c092989a3c23e90fd7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzgtMy0xLTEtMjY3NDM_fa1a8004-ba6b-4206-99c9-5036064c149f"
      unitRef="usd">212015000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="ic876345e01464d06a20793e3e811f3d4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzgtNS0xLTEtMjY3NDM_d4c7224d-6e03-4f0e-b613-9c5fbbd4c40e"
      unitRef="usd">56714000</dxpe:AssetsExceptCorporate>
    <dxpe:AssetsExceptCorporate
      contextRef="i556c9a003d5a4effa512443069b9f1ac_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzgtNy0xLTEtMjY3NDM_2d7e181d-74dc-4292-992a-be1804e1af6a"
      unitRef="usd">732260000</dxpe:AssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i3a48e114e0b2495f9c42d7bd3e7d0bf6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzktMS0xLTEtMjY3NDM_0f030e60-1817-4e1f-ad87-60a978de301f"
      unitRef="usd">2333000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i05843c6cdac64781ac67833e5e0dd987_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzktMy0xLTEtMjY3NDM_e327935a-a45f-4765-8409-8b3d4f1d4048"
      unitRef="usd">9347000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i9b0c995e66514e2fa9f909d60a843ce7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzktNS0xLTEtMjY3NDM_e579494d-332a-4c26-88dc-275dd322dd5f"
      unitRef="usd">922000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzktNy0xLTEtMjY3NDM_99a57cbb-2d31-4710-acea-a2cb863b2ee1"
      unitRef="usd">12602000</dxpe:SegmentReportingInformationExpendituresForAdditionsToLongLivedAssetsExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i3a48e114e0b2495f9c42d7bd3e7d0bf6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEwLTEtMS0xLTI2NzQz_a1f891c9-838e-4569-8753-681098727bd5"
      unitRef="usd">3517000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i05843c6cdac64781ac67833e5e0dd987_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEwLTMtMS0xLTI2NzQz_ff90df9b-7a88-4b01-a162-2dc32f8ab697"
      unitRef="usd">4602000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i9b0c995e66514e2fa9f909d60a843ce7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEwLTUtMS0xLTI2NzQz_317b9cdb-8f7e-4fcc-9a37-0a4adb4ccf42"
      unitRef="usd">285000</dxpe:DepreciationExceptCorporate>
    <dxpe:DepreciationExceptCorporate
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEwLTctMS0xLTI2NzQz_1b0cc21d-d75c-4ef6-9636-1c7ca004f415"
      unitRef="usd">8404000</dxpe:DepreciationExceptCorporate>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i3a48e114e0b2495f9c42d7bd3e7d0bf6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzExLTEtMS0xLTI2NzQz_5fbad93c-9630-45f2-857e-073a7a6961ec"
      unitRef="usd">8230000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i05843c6cdac64781ac67833e5e0dd987_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzExLTMtMS0xLTI2NzQz_aca86430-e237-462b-b16c-5313e8aa4304"
      unitRef="usd">5855000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i9b0c995e66514e2fa9f909d60a843ce7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzExLTUtMS0xLTI2NzQz_184ca0dd-b38e-4c40-8ba8-fda5daf1778b"
      unitRef="usd">989000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzExLTctMS0xLTI2NzQz_b85c354e-115b-4328-bcf0-a97f0975eeb7"
      unitRef="usd">15074000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:InterestExpense
      contextRef="i3a48e114e0b2495f9c42d7bd3e7d0bf6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEyLTEtMS0xLTI2NzQz_96558e19-c3f7-43ae-b577-517d1abc1ce2"
      unitRef="usd">10786000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i05843c6cdac64781ac67833e5e0dd987_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEyLTMtMS0xLTI2NzQz_6b778b2c-8445-470f-a780-db40e0cfa6e1"
      unitRef="usd">6747000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i9b0c995e66514e2fa9f909d60a843ce7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEyLTUtMS0xLTI2NzQz_4393632b-0056-424f-9246-c11289c060a3"
      unitRef="usd">1965000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpkZGI4MDU1YjQ0YmU0ZTc0ODc2YTVkMWU1YWYyNGUwZC90YWJsZXJhbmdlOmRkYjgwNTViNDRiZTRlNzQ4NzZhNWQxZTVhZjI0ZTBkXzEyLTctMS0xLTI2NzQz_866a9ad0-5b78-43bb-99d7-abc37f29c6f6"
      unitRef="usd">19498000</us-gaap:InterestExpense>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE5ODI_d0004a30-f83b-4a35-9b0a-fd58dbafc9ad">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 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="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;Operating income for reportable segments, excluding adjustments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;122,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;101,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;131,408&#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;Adjustments for:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&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 intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,197&#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;12,287&#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;15,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Impairment and other charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;59,883&#160;&lt;/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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate and other expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,018&#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;48,922&#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;Total operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;39,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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,668)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:2pt 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-top:2pt 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;67,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:2pt 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;21,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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;20,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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:2pt 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,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:2pt 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;Other expenses (income), net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(414)&lt;/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;74&#160;&lt;/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;(45)&lt;/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;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;(48,313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzMtMS0xLTEtMjY3NDM_edbeb17a-b281-48d2-863a-eb29294dbeb3"
      unitRef="usd">122964000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzMtMy0xLTEtMjY3NDM_05176e0b-0861-4cac-a4fd-b397ef0bf208"
      unitRef="usd">101520000</dxpe:OperatingIncomeForReportableSegments>
    <dxpe:OperatingIncomeForReportableSegments
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzMtNS0xLTEtMjY3NDM_d335c841-9017-4c59-926a-1a9be889a036"
      unitRef="usd">131408000</dxpe:OperatingIncomeForReportableSegments>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzUtMS0xLTEtMjY3NDM_d4fd4c55-f998-429b-8234-f5f0d6177e8b"
      unitRef="usd">17197000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzUtMy0xLTEtMjY3NDM_bb48dc47-b328-4555-8886-b946a62c2e40"
      unitRef="usd">12287000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzUtNS0xLTEtMjY3NDM_76777954-4478-40fa-8ef7-2a661be7883c"
      unitRef="usd">15074000</us-gaap:AmortizationOfIntangibleAssets>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzYtMS0xLTEtMjY3NDM_d47848de-3670-4c16-afff-7420818a6733"
      unitRef="usd">0</dxpe:AssetImpairmentAndOtherCharges>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzYtMy0xLTEtMjY3NDM_5b0c63d4-2168-44a9-b133-9725568c2671"
      unitRef="usd">59883000</dxpe:AssetImpairmentAndOtherCharges>
    <dxpe:AssetImpairmentAndOtherCharges
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzYtNS0xLTEtMjY3NDM_12eaafd6-c2e4-432d-b755-d0c617430a61"
      unitRef="usd">0</dxpe:AssetImpairmentAndOtherCharges>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzctMS0xLTEtMjY3NDM_2eb3dd34-edfa-4670-b592-0b79c6ca3ac3"
      unitRef="usd">65910000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzctMy0xLTEtMjY3NDM_d9d10cb8-8860-4726-ac1e-a5cdf24320ca"
      unitRef="usd">57018000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzctNS0xLTEtMjY3NDM_be74be6c-2c8f-4952-8d3e-00b448535058"
      unitRef="usd">48922000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzgtMS0xLTEtMjY3NDM_afc893ec-5615-4c71-8776-38405493938d"
      unitRef="usd">39857000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzgtMy0xLTEtMjY3NDM_f1b2d466-b0f1-4464-b855-8f7f9c441f88"
      unitRef="usd">-27668000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzgtNS0xLTEtMjY3NDM_c872a90a-7c3c-44db-97ef-1daab466fd93"
      unitRef="usd">67412000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzktMS0xLTEtMjY3NDM_8743fc22-3665-4e28-b1cc-e65d504cc8cb"
      unitRef="usd">21089000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzktMy0xLTEtMjY3NDM_c4c9fcc1-2ff5-426a-a449-609fd2558121"
      unitRef="usd">20571000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzktNS0xLTEtMjY3NDM_2db05e5c-c9dd-4ae6-9a91-a154f0b7103a"
      unitRef="usd">19498000</us-gaap:InterestExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzEwLTEtMS0xLTI2NzQz_b4669e19-877f-449d-b05f-4d328ec2c7c2"
      unitRef="usd">414000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzEwLTMtMS0xLTI2NzQz_ab5debfd-14cc-40cb-87ae-3576ac8544d9"
      unitRef="usd">-74000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzEwLTUtMS0xLTI2NzQz_6485864f-b555-4d49-bf4e-2f9b64f31436"
      unitRef="usd">45000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzExLTEtMS0xLTI2NzQz_7be6587d-97ee-4277-901b-ae04cde6982c"
      unitRef="usd">19182000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzExLTMtMS0xLTI2NzQz_f3666282-37ca-41c8-b78a-9015df554d53"
      unitRef="usd">-48313000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo5ZmMzZTEyYWQzZGI0ZmIxYjc4ZTI2NGI3ODNlOTNhOS90YWJsZXJhbmdlOjlmYzNlMTJhZDNkYjRmYjFiNzhlMjY0Yjc4M2U5M2E5XzExLTUtMS0xLTI2NzQz_fe625416-9e02-4878-94d1-f4d8403aee2b"
      unitRef="usd">47959000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:PropertyPlantAndEquipmentAdditions
      contextRef="icc751f1be5c04155803c700b8044ce47_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzEyOTk_30e01319-11c1-4cde-920a-17395c3099da"
      unitRef="usd">2400000</us-gaap:PropertyPlantAndEquipmentAdditions>
    <us-gaap:PropertyPlantAndEquipmentAdditions
      contextRef="i05d37b7d24f74a7b8ee0a096990be0db_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzEzMDM_e17a1700-76c5-49f7-be9b-af7af671a13d"
      unitRef="usd">1000000</us-gaap:PropertyPlantAndEquipmentAdditions>
    <us-gaap:PropertyPlantAndEquipmentAdditions
      contextRef="ica36699dbc784532a5f0506cf6280f5d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzEzMTE_90dee4ba-e808-4bb5-9bd6-1d22ab509a8e"
      unitRef="usd">9500000</us-gaap:PropertyPlantAndEquipmentAdditions>
    <us-gaap:Assets
      contextRef="i1495ee9437fb4e7687ed43940c9380ec_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE0MTY_006294d2-b016-497f-8a6a-2b44b068a780"
      unitRef="usd">85000000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic11c19ceda154b4594da3605ab5cd765_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE0MjA_63301290-9055-48d5-8d2c-929c63ac1838"
      unitRef="usd">114100000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic4204c9340ed465eb9a628b2ae1b3416_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE0Mjg_ecd5b4b1-f60f-461d-985f-a87f01a5fbe4"
      unitRef="usd">56800000</us-gaap:Assets>
    <us-gaap:Depreciation
      contextRef="icc751f1be5c04155803c700b8044ce47_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE0OTQ_8a588760-3563-44c3-8e67-38a3dd5952b9"
      unitRef="usd">1800000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i05d37b7d24f74a7b8ee0a096990be0db_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE0OTg_edb1c6ff-a427-4b36-959e-70192159fd1a"
      unitRef="usd">2300000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="ica36699dbc784532a5f0506cf6280f5d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE1MDY_d90e7ff8-34be-40ba-84f9-7aa643f31647"
      unitRef="usd">1700000</us-gaap:Depreciation>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE5Nzc_9cdbfb06-727c-403d-966d-cb4e46c03c1d">&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 Company&#x2019;s revenues and property and equipment by geographical location are as follows &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;(in millions)&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;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.462%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.556%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.558%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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:10pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&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;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;1,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;1,163&#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;Canada&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/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;74&#160;&lt;/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;102&#160;&lt;/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 7.75pt;text-align:left;vertical-align: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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,005&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1ac0d902023c4db0983d3c5919d9c477_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzMtMS0xLTEtMjY3NDM_a30d5323-6c1e-4f2a-94dc-326a7cf41540"
      unitRef="usd">1031000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9ac337cdb65f4eba8cfcf58b60b5848f_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzMtMy0xLTEtMjY3NDM_a053d881-e0bc-464d-b959-8c9015860dea"
      unitRef="usd">931000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i728757d6c3b04eccb5de3a84e8dea16e_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzMtNS0xLTEtMjY3NDM_b034b8b2-ba74-4a95-9348-196a9796ee36"
      unitRef="usd">1163000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac0634d7346541ff890c894ed33f167b_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzQtMS0xLTEtMjY3NDM_2270289a-fcaa-4248-99df-5afbad07bbf3"
      unitRef="usd">83000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if2a2aca6b3d14774bc36701ef9cc19b2_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzQtMy0xLTEtMjY3NDM_81a4755d-69ef-4230-b91e-99af5ebd5cd7"
      unitRef="usd">74000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib10e81b31d644c1f87151715b28f992e_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzQtNS0xLTEtMjY3NDM_1b56ef60-f46d-461a-965b-4daf4961cd02"
      unitRef="usd">102000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzYtMS0xLTEtMjY3NDM_ac2f5cc9-3a18-4448-89b4-a280bd85af08"
      unitRef="usd">1114000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1523d127f943497b982d3886e2c8625b_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzYtMy0xLTEtMjY3NDM_8be963e9-09c1-42e5-8b6d-5cd981491540"
      unitRef="usd">1005000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i675d7b905e504c43ae7c71fa5fe1f099_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTo0Y2VhYzM5MTAyOTI0YmJlYjk0OTdmMGMzOWQ3ZTAzMS90YWJsZXJhbmdlOjRjZWFjMzkxMDI5MjRiYmViOTQ5N2YwYzM5ZDdlMDMxXzYtNS0xLTEtMjY3NDM_57eca0e4-4472-4b1b-a114-f5bc344d5c8b"
      unitRef="usd">1265000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90ZXh0cmVnaW9uOjhmYzVmZTViODVlMzRiNjM5YzAzYTE5NGE1YWEwMGRkXzE5ODQ_af8139bc-fbf6-43d8-aa7a-b797c5fdf02e">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt 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:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Property and Equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:2pt solid #000000;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;&#160;&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;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;52&#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;Canada&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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&#160;&lt;/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 7.75pt;text-align:left;vertical-align: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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:2pt 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:2pt 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;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:2pt 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:PropertyPlantAndEquipmentNet
      contextRef="i389fbf6103a64522a6c15bee47e41c04_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpmOWIyMjc2NTk2MDM0YzkyYWE4ZTQwMTYzZjhiN2U3Yy90YWJsZXJhbmdlOmY5YjIyNzY1OTYwMzRjOTJhYThlNDAxNjNmOGI3ZTdjXzMtMS0xLTEtMjY3NDM_b406e91c-f567-46ef-8021-eb9d704edef4"
      unitRef="usd">48000000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ic0cd07c68dd74fdcb5ff36160d3f157b_I20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpmOWIyMjc2NTk2MDM0YzkyYWE4ZTQwMTYzZjhiN2U3Yy90YWJsZXJhbmdlOmY5YjIyNzY1OTYwMzRjOTJhYThlNDAxNjNmOGI3ZTdjXzMtMy0xLTEtMjY3NDM_100d99ad-1798-414d-a475-e248a4031bb8"
      unitRef="usd">52000000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i8575a5461bd84a6abeb87c5e0001eec1_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpmOWIyMjc2NTk2MDM0YzkyYWE4ZTQwMTYzZjhiN2U3Yy90YWJsZXJhbmdlOmY5YjIyNzY1OTYwMzRjOTJhYThlNDAxNjNmOGI3ZTdjXzQtMS0xLTEtMjY3NDM_6540446f-2b71-4b94-8780-e8726b062d08"
      unitRef="usd">4000000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ibc723148539946ab89d17f1b315d6c1d_I20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpmOWIyMjc2NTk2MDM0YzkyYWE4ZTQwMTYzZjhiN2U3Yy90YWJsZXJhbmdlOmY5YjIyNzY1OTYwMzRjOTJhYThlNDAxNjNmOGI3ZTdjXzQtMy0xLTEtMjY3NDM_e6671915-3d70-46e4-b7f2-83d4d66b4cef"
      unitRef="usd">5000000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i347743865e8c4d5ca7f315e122e77314_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpmOWIyMjc2NTk2MDM0YzkyYWE4ZTQwMTYzZjhiN2U3Yy90YWJsZXJhbmdlOmY5YjIyNzY1OTYwMzRjOTJhYThlNDAxNjNmOGI3ZTdjXzYtMS0xLTEtMjY3NDM_8586e42a-c8a8-448b-969f-3d1a020d86f4"
      unitRef="usd">52000000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7a459a1524d24f1f9f133a46ad08bd9f_I20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xMzkvZnJhZzo4ZmM1ZmU1Yjg1ZTM0YjYzOWMwM2ExOTRhNWFhMDBkZC90YWJsZTpmOWIyMjc2NTk2MDM0YzkyYWE4ZTQwMTYzZjhiN2U3Yy90YWJsZXJhbmdlOmY5YjIyNzY1OTYwMzRjOTJhYThlNDAxNjNmOGI3ZTdjXzYtMy0xLTEtMjY3NDM_fe4483e1-373a-478e-bf03-5435589163b7"
      unitRef="usd">57000000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNDUvZnJhZzo3Nzk0YmYyMmYwODY0NTFhODZkMzViMjY1MGZjNTU4ZS90ZXh0cmVnaW9uOjc3OTRiZjIyZjA4NjQ1MWE4NmQzNWIyNjUwZmM1NThlXzEwMDg_66fe4432-74ba-4af9-9b8f-943dafb7eb8b">RELATED PARTIES DISCLOSURES&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 Board uses policies and procedures, to be applied by the Audit Committee of the Board, for review, approval or ratification of any transactions with related persons. Those policies and procedures will apply to any proposed transactions in which DXP is a participant, the amount involved exceeds $120,000 and any director, executive officer or significant shareholder or any immediate family member of such a person has a direct or material indirect interest. Any related party transaction will be reviewed by the Audit Committee of the Board of Directors to determine, among other things, the benefits of any transaction to DXP, the availability of other sources of comparable products or services and whether the terms of the proposed transaction are comparable to those provided to unrelated third parties.&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;For the year ended December&#160;31, 2021, the Company paid approximately $2.3 million in lease expenses to entities controlled by the Company&#x2019;s Chief Executive Officer, David Little.&lt;/span&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i358c8b6ebfaf4be1916cc871f47dae67_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNDUvZnJhZzo3Nzk0YmYyMmYwODY0NTFhODZkMzViMjY1MGZjNTU4ZS90ZXh0cmVnaW9uOjc3OTRiZjIyZjA4NjQ1MWE4NmQzNWIyNjUwZmM1NThlXzM0Mw_f4ee8f41-649e-44d7-9eef-34b84313fc15"
      unitRef="usd">120000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:OperatingLeaseExpense
      contextRef="ibf6d781d4dce4efa8db43f22ca6d194a_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNDUvZnJhZzo3Nzk0YmYyMmYwODY0NTFhODZkMzViMjY1MGZjNTU4ZS90ZXh0cmVnaW9uOjc3OTRiZjIyZjA4NjQ1MWE4NmQzNWIyNjUwZmM1NThlXzkwOA_8ee53a88-21fa-4ffc-935e-9e20863c32c2"
      unitRef="usd">2300000</us-gaap:OperatingLeaseExpense>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="ic0e29e1c115b42518ff5f1bf680a9fcd_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNDgvZnJhZzowMjNjZDYzM2Y1M2Q0MGI5YjQxOGFlODc1MDgyMzIyNi90ZXh0cmVnaW9uOjAyM2NkNjMzZjUzZDQwYjliNDE4YWU4NzUwODIzMjI2XzEwOTk1MTE2MzE4ODA_b92ec6ee-1f9f-452e-8b48-e4983e9b5d84">SUBSEQUENT EVENTSOn March 2, 2022, we acquired Drydon Equipment, Inc. (&#x201c;Drydon&#x201d;) and Burglingame Engineers ("Burlingame&#x201d;). Drydon is a leading distributor and manufacturers&#x2019; representative of pumps, valves, controls and process equipment focused on serving the water and wastewater industry in the Midwest. Burlingame is a leading California provider of water and wastewater equipment in the industrial and municipal sectors. The combined purchase price of $6.1&#160;million was funded with cash from the balance sheet and common stock as consideration. The acquisitions were accounted for as business combinations under ASC 805, &#x201c;Business Combinations.&#x201d; During the measurement period, we expect to receive additional detailed information to complete the purchase price allocation.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i0b62883eab5648a8bb71cddab1a33a06_D20220302-20220302"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjE0Yjc4NzMyNGRmOTQxNzE4MDNhYjM4ZTk1ODE0MWUyL3NlYzoxNGI3ODczMjRkZjk0MTcxODAzYWIzOGU5NTgxNDFlMl8xNDgvZnJhZzowMjNjZDYzM2Y1M2Q0MGI5YjQxOGFlODc1MDgyMzIyNi90ZXh0cmVnaW9uOjAyM2NkNjMzZjUzZDQwYjliNDE4YWU4NzUwODIzMjI2XzE1OTQyOTE4NjA4OTEx_e060726b-7b60-413d-b9ca-5b20dc55d24b"
      unitRef="usd">6100000</us-gaap:BusinessCombinationConsiderationTransferred1>
</xbrl>
