<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:ibp="http://installedbuildingproducts.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: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="ibp-20211231.xsd" xlink:type="simple"/>
    <context id="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id4eb2eea74ae450682564a6cc0e77417_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i1b57c6bfc8634905a40abda0fc0b339b_I20220217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <instant>2022-02-17</instant>
        </period>
    </context>
    <context id="i8317fb3673c64ace934ae2b300f4b840_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iab9664d6222046958f491093a96493de_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i805319171b5849b8acf58337e96f048c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i1520d43811744173af09973db28a225d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">ibp:IntangibleAssetsExcludingCustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifb7cc57be85b499987f3b5ef8fd72e3e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">ibp:IntangibleAssetsExcludingCustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i825a015c50e24450a800317866a8d06d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i1861aa1621354f39853b606a68e67e23_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i17d8366924f84e148f7bdca2b05bebf4_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i7ef99f406cac4b61a90987b5bae01bbb_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i03532def83da4dac85cb5d7100e81e87_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i6c658874a6f041c1a750b54665e69a9e_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ia2263e5a5d344f14813fb7edf2fa2af9_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ibac61fdd5d2c4fcd818989c6e262379f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i1a982078e60140e5860d79b5152fd9a0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i4dd3b4224de64e6a83e9e9d6435d6bb9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ia994f023734143409ea884c9764d4c45_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i00b9748043694809ab4606738ac85bea_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ie94dccad9f95476da9fa408522bca85c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ic614be3f8b2e455490d69ba71f089c38_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ia729ab267e5c4387b1f1e2912f314268_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i67dfaf60bec74509a4a90e8c92088284_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i85fc433c12fb438a8ec9872de02ecf02_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ie8cd3488dd934f75a7823e289a6dc870_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5574a04d150841b8815fa7bc54a3c6c6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i340df5dcac144e0ba53fb941a7497994_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iaf5df7146f864144bff13335e62a2aab_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8c30f3054bc14c9295579b099154145d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i36f5ccb808ae4e368ea27b1618e017be_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i52b949fa9755462faa84bbd691982145_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4d6b2f9ff49343639cbb8f898f12f3c3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i678f30625941438099182ccf6f6918df_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ib1b06c54361145d69fdcd74114d8f7f7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i41aa56e7cd64420cadb40ed88d2b58ee_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ia2e226cc634148f689d6dfa0bf1f7a42_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ia05a5db95f3644889de6515535d1ac7b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i70cc5f72768f4348b3fbbeb63b8ae7a8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="if891bda01d8d46958cae58395a42b84f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i9327e2f3b8f240b184ea72d5a1299a06_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="id41882db61f742be933bbe421322b758_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ic6105648a88b4f40921aa57e3f33f9ec_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="iaae7406c5aba453286cb31c7f012622f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ifefa39ebcbe74d6a932d90b1d649bf8c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="if8bc4a8498ec4a87a7a011a55b8a0330_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i21fb5ff5a540406eb5e80df873d30528_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i2ab0ba1bbae54fa7ab0ab595ed4c5a73_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i06a15d2d45a949e9b9be9127e881771f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i0780d58de2ed467babaf3d98d1cdb764_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i62bd539bc4184f3092252e131913a4ae_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9ca8a29b631b45a1b382aa3caf8705d5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3bae4c7239264db3a6116a56ae8217b3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2a062a8eb4684411af175a5819a82b1f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic6427dcdf6084c2e8a42d8e2eec95d2e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iaa8137dd93ef4027b6904cf341acac0b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idcd8b9c78f4e4b55ac7eace567a873ff_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i64670a52657b46db920b69d87ac642e7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i754d9b4c358047d1ac247440a54917f9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3a914c45cedb4829adb146e10cd0d81e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i21c3411030024d80bc1aba69ca1168dc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i85df536ab8634182acc34ced68c9b227_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ic9e241f93b494dbf953ee9dda13d448e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ib940d87b8e3440ce801c8f3b36d1b584_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <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="i36306e1119af495c9d3eb9225633a992_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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="i73859511118b498e912b56cae5edd721_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="ic0ead78efda44dfabcc38bcfe5959532_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idf40088ab8b14097b262fb47e2a0e10a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifd73ab511d3d4788b3f110a86688f4d3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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="i9a9f4189814f4e7eb25f0c05f4e60683_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="i925ffd1a406b4f56aa1e3b2e544610ad_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iff170bc1607444ac9fe78d022439bc91_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0168801bcd294a2d8f4f0b21f561649a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteedInsuranceContractTypeOfGuaranteeAxis">us-gaap:WorkersCompensationInsuranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ice20bc1bbe7f47f4bdd769420848c6be_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteedInsuranceContractTypeOfGuaranteeAxis">ibp:GeneralLiabilityInsuranceProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i38d246353e0f408d8b30de9b22b4e939_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteedInsuranceContractTypeOfGuaranteeAxis">ibp:VehiclesInsuranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="icc948b1c8e5840449c58ba8ec014bb8c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:SeniorSecuredCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i43eea72c73464f0abaeceff2b649f952_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:SeniorSecuredCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="icdef4d6cd3e94463a06f9991b68a8410_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:SeniorSecuredCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3f555ac6cd994d298fdab232e686c6f7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:SeniorSecuredCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i12fb2f68a81548179718bc297f4b30fa_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:SeniorSecuredCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i87c55b8d6b95457387fbce59bc11c1ef_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:SeniorSecuredCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id102d2ffc0a94e5cb634398200985fda_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:ResidentialNewConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib73af2f6ba9d49c9bc1d12471f867977_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:ResidentialNewConstructionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i168a8f7a4216463ead923a9c09dd11ac_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:ResidentialNewConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5b8d4ab1fac74f64b863d236b09e4c9f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:ResidentialNewConstructionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6c5f2958d58347f38d55fcc2b8f903f2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:ResidentialNewConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iadcfc334fe4547cab07819e711528939_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:ResidentialNewConstructionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic0e3bc0b1a804d299ec441a612f76f7c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:RepairAndRemodelMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic4c51dee15244a8fac796f83896b9d40_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:RepairAndRemodelMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifa5470da0a1b4f0caf76ecd44942889c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:RepairAndRemodelMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i42aa5e6095a24375a67316576feeb90a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:RepairAndRemodelMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icd8b94a92b4c41aca68aaab1588aee13_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:RepairAndRemodelMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7a21b46436284b1fb145b698182dce8e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:RepairAndRemodelMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9c45d27d29644400ac0922d1d6c87f4a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6d5295368a49461480959c9402b41f7c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:CommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i48ae0f226b4046a58806fc7b58c086d4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2e38a206d6b5470a9ff29282c6fe3bdb_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:CommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if33891b7cf8842ffa3433fdc5d777777_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ie82acdf7348a4f4b8987000330c25809_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ibp:CommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifc6e3fc5bf594d139cc74e80ac192471_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib309db30c1a04b028dcdf10c7c42f013_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i65706dc172014c4d870cb3a8acf1e611_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i38e02bd98c7247b4bfbdf06ca1d5db16_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:InsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i30a6cb77a54245acaec5fddb3c83cb37_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:InsulationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i131db3dd6db54a6cb9ae7ed787c4e5e6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:InsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7fa903d651ae4aee85e595997db7fa2d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:InsulationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4f1c6c2c4f8248b2915dc8312eb5760c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:InsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i037ca34cabcd4a4e9cdd52edf538aa3b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:InsulationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic6155721f30f4917ace6f450c5787821_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:ShowerDoorsShelvingAndMirrorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iabd3a72a98e540cf98cb4dd30b074546_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:ShowerDoorsShelvingAndMirrorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iecb23ac7ef0644478eb82f7e34c230e6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:ShowerDoorsShelvingAndMirrorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic210ceaaaf9042929e3353c7ab453185_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:ShowerDoorsShelvingAndMirrorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2343caf0b8bf4807b95db4104e7a0468_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:ShowerDoorsShelvingAndMirrorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id65348d44fc141cd8ebeaf1b796c91d1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:ShowerDoorsShelvingAndMirrorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id7f9bf98c9d74075b421cd99671de44d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WaterproofingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib132d92bad5345d79dd74867aa1946eb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WaterproofingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6b138a3712db483e8efcf88c8012bfc0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WaterproofingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5e67b737acdd46a0bfcc57c7f7cc3c50_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WaterproofingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if5e3c28fd3df4ecaa4a009679932a54f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WaterproofingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i4c917129db3e4420ba42725963c4ac6d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WaterproofingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib7387f39a2c84e6eaa307739a9cfe5a0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:GarageDoorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibc3832029e03431b8336b76a37d5b9ba_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:GarageDoorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia4461e673cf34b258254ea10a3b3c933_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:GarageDoorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3bcb2cd9bddc4181ba38fb0cfe4299c8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:GarageDoorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i91d2bd89224b43f98142d72c2b575816_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:GarageDoorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i24e75d0bd8a34becb0c6b43697d78728_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:GarageDoorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i2e3db03e5d0e4b6bb44576b30ca8eb8b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:RainGuttersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0100f20eacc1488486f180ee8784be5c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:RainGuttersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5b150b3643104f53ad9087487905ad0e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:RainGuttersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic2bb6d0141e14d7fb18a45da3bf345cb_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:RainGuttersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i20568315f7c64cfdb7e65b6535bd8210_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:RainGuttersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i093751715ffe40638a0d3acc656fd6b8_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:RainGuttersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i84d544257e844f27afc3a8df959283cc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:FireproofingAndFirestoppingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8601e4ddce3e4a1495dea542a4621563_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:FireproofingAndFirestoppingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i86971855573b49dcb60c53d845368927_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:FireproofingAndFirestoppingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1556992424114562a716ab267e1117b9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:FireproofingAndFirestoppingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie196e1864dac4cd7ae77cde9dcdfc793_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:FireproofingAndFirestoppingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i78600baae50b4665b927f209ef45ecc1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:FireproofingAndFirestoppingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i2441a67478c34fe7baec7e6e95e9b4f8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WindowBlindsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2ea6c378d54f4e45956788976f9c312e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WindowBlindsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i79db8ca2f8af4bac969af50e245b10a7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WindowBlindsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i21916d273d7f4ec393de6b301c741129_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WindowBlindsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic8b415d6c69742e0a8b8c4ab51adb780_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WindowBlindsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i824905db549149d08fea8e138828b078_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:WindowBlindsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="idb0aec27e5fd4639925ff52f9da1617e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:OtherBuildingProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8d784df6c0ec473abb358fecaeaac558_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:OtherBuildingProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id4153ae1c8d54239bd7d074a44725c18_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:OtherBuildingProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3798b930a70f450db2561b16cd0f8bdd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:OtherBuildingProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if85abc20c12e4c7c87a6701e25217ae6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:OtherBuildingProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5d68c3620e3a40259fe6b8f43d61516b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ibp:OtherBuildingProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i698e53f860bc4851ba2d6a518909331f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7967f06a4a614ec1a1eba178c1817f0b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib82b1462ed38471f9e3896e0cc3daeee_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i502cf469c80d4c95b294435c090aadd2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i78d90fba58e9429887dc2af9b8879ccf_I20200101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201613Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-01</instant>
        </period>
    </context>
    <context id="i8e380cda5e0e47ee8205d195bb663dea_I20200101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201613Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-01</instant>
        </period>
    </context>
    <context id="i0c61ad9a4f6746f5a705dc95b9b8f3fa_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201613Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i52341ca915d842b9a814abb4d99a5d70_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="if5faecb8a8c542539913990a0d1da67a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i68419b283e3245b5bddc37c70a77c86e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i592b6fbab13d42a0a1c35286e8dfd74f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i99e148a08bc0456c848906fbebfe185f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib479bba47b514633abd2f1f771089e36_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i977d332c075547909f09a8c816384b21_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="icc70aed6ee6c4bf8bfb4fcbe11dccc1f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="ib4ed37a5cd00486d8b6d62de46bbae05_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ibp:VehiclesAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibe93295adc2b45f29e2eb6681918581a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ibp:VehiclesAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6d9ebf8bd02641c1b82c64bf90f3fb45_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0bb68e98fbe74f36bb3857f6dd061db2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i698d5b614c864ce7adb8edc97fda7b1b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic0b253c9485e441ebeeced1dc5f9ece2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iaa6b3542b0324695bcb04b5996d6ac85_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie4c61b860ec045a28ac1b818917284e1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ica87490176604f7a90703ba7176ad4fd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="id1e69b3102364ee3a353ad3afa0776f9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i89ec9f1bedcb4d828b2adcefbab51be5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3a5ff38b2f184b2fa96999968f33a728_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2928b7c420c443c490849f4d7d7f21d2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iba7c2853762f4e588a8ea659950d977f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icd2550519f924a959423828b24adbc33_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="idce6bbda87a04614a7f74b2da6b474ff_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i512520946ca842d598433f5d3eb6d014_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MediumTermNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i004faa87ec7546f29ee3d001654ae1b4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MediumTermNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib1db73aeb92f4af4b1fbcff24891535f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:VehicleAndEquipmentNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id8ce4a5dc42a480fbf2a443c7714f94f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:VehicleAndEquipmentNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i731080197bfe4eac946b59ee51da9c93_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:VehicleAndEquipmentNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib18de9f81179464d98bde0e57ae4d2f7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:VehicleAndEquipmentNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iaa9553eba1f1435bb548daa18df71e70_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i41f7b4032dee4044b6e9a84344237a6c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9f371bd0a4354a8782949ecf75a41732_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0b7ad0389a574a2c888ef022fa2a4584_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:NotesPayableOtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if379e9528e334b808b44a2cc90b3aa22_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i5fc8c91f51574ef1a0249c221bb24a10_D20190901-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i3fcceeb132b946aea977e7bc7e00d1ef_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iaf62d8b1cdbf44c7a4918db623df9dae_D20191217-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-17</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i71944f175d30407fa8f5488c6f6e15a9_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i200775719f0049178fe671b9392565cc_D20191217-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-17</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8557b0d7b40747b9b5d8e7b09d55929f_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i320b617e755e46b1ab5d049502c016ca_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9923897528694bb6ae1cc2e0df494272_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i26318cc1635a4cf688168bf9fee32441_D20190901-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="ibfa6278bb9ae4671afc1a3a005759422_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i85f025bd87c8409b9c57e443b5fbe2f4_D20190901-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i2125806fc35c46a3978173dd7bffb5dc_D20190901-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i26c9d2ff0f1a435e81d31ad6634893d5_D20190901-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i3230d2d1c8ee410ca783758e15c2970a_D20190901-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i7f2f103e5f854616a6e847ed344b717c_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ibp:IncrementalRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i9e785595e2fc4cb9bb7d410478678058_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i004be378e0f748b1aa42d81f2b89be06_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ibp:SwingLineLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i864f9b1d04404624a2df0d3915bcb884_D20190901-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i083f21c244a2422d8743ff7d726f8285_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ibp:MasterLoanAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2a51098cf25844c8871a70472227a2c1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:VehicleAndEquipmentNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i911124084cd44d39bf8af927ed248bde_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:VehicleAndEquipmentNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i49c52231c4a4480298726727c91017dc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:OperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if1f4acfdc76a4f2db2f6beccc811b759_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:OperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i28f0152d58b64fad84e0a7899d765676_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:OperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i42a608b2a77e47b5b985974506cf3b64_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:FinanceLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1352ec150cd3499f9e8833b0fedaa3ab_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:FinanceLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ieeea1d31032c471f9314040b30c6bfe9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">ibp:FinanceLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAxis">ibp:RelatedPartyOperatingLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAxis">ibp:OtherPartyOperatingLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibb2a16bd7129404d8cf0f3387c5fa843_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4e9852d2780746f89be87a904c6fd84b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if505f1d82ad346d287913cd6a4a2a9bd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4515323f7ef64808844f353913d03def_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i061c5446c2f74a39b62376e051ab7877_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6fa538e1da7449f3a2b40f691cc8d74d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4eb876ff8c4f4e84bbd82837bf948791_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</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="i19b63ea8b35e4e9a92640f5590d695e7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iea9328af6b5d4f5c84cae737738d7b8f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</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="i43a5df9871084e6ba745f79ede398158_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:FivePointSevenFivePercentageSeniorNotesDueTwoThousandTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3ef40e30607b43aa9584bdb89d2d2736_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">ibp:InterestRateSwapOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i88cd50fc1eb241dea7013834ad37fbec_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">ibp:InterestRateSwapOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5a43271a90ee4a79ba02f4a0c70d73d0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">ibp:InterestRateSwapTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i11c438989713404c87ab9ef5d25303c6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">ibp:InterestRateSwapThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie261aad47c0f4fdf898426c5b87c4ce2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">ibp:InterestRateSwapThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i67a9b373d83a447a9d45a345a40a7a70_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">ibp:InterestRateSwapTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifc6c8b2f2f1a45e08256be24ebba26d0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i58b7ea3efe974b958299c0183c0588fb_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ifacfbdb7af69409494fa593c6ebe7949_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">ibp:ForwardInterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if78887906ed548589ceafb0ca684b29a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iefdaa8c7852c4ad19676fddd2a88188b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie44db8e07c47477b95efb2a6fcce0cdf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i390d40add7cf4888b50313dffed830f4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id26e1a812cd74d07859e859253712b38_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3ecc61db5fed42fa83d71e53eb5b4468_I20220224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-24</instant>
        </period>
    </context>
    <context id="i67eb0bb90a0c4a1aaca99ecb8a96ae19_D20210223-20210223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-02-23</startDate>
            <endDate>2021-02-23</endDate>
        </period>
    </context>
    <context id="i7c1f47188815428bb49093ddb75251f1_D20210331-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-03-31</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i19658202326d4f0b818727ad8cf98cae_D20210505-20210505">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-05-05</startDate>
            <endDate>2021-05-05</endDate>
        </period>
    </context>
    <context id="ia84edf9588814522b3d278757d467714_D20210630-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-06-30</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id13665b8ec024a1593825b6f58925896_D20210805-20210805">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-08-05</startDate>
            <endDate>2021-08-05</endDate>
        </period>
    </context>
    <context id="iad26bdffccde47ebae19f4a602c73958_D20210930-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-09-30</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="iafa70dc7566a4cea8f110fc991c1623d_D20211104-20211104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-11-04</startDate>
            <endDate>2021-11-04</endDate>
        </period>
    </context>
    <context id="i1fc38b22f965405fac15ddffbfa834e5_D20211231-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
        </entity>
        <period>
            <startDate>2021-12-31</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1cd8ea6fa3b0442893254724b118d86e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1af91c840828473999c93cb7a345a460_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iae52725825994c9ab84a9661235ee856_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9f16bbb6252c47dbbeccf26c75d9c9a5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7d4820a1becb43ea84726b340125e250_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia9fc1a567cbf4c58876c79f44eba101d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia2eb5b52c32b4671a71a413fc126c2cd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i412a0256cb904596a1a413311c9a480f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i53ef526beb2443658c542481846eaf88_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2b2c10ceabeb438ab086cd2f69ecc3d3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i046f37f1ab214c3e9eb5290179b3d2d7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3499473dd14a49bcb7177cff2f04ae4d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:OfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i24b1182e111b4e27976f1dcec71bc9c3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i04d84d945c84468090b3afa61946a2d7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0c1b9c9e2d644915b62d6994617f5c31_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie87c842fbf364ce9b3426c3bbf33036d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia84bbfd252e64629a1cf748481f7c9f2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifdfe2b83aa9049678b07e435343224d3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3ce1bf096e04458ebf3516116ee5abff_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia8008895985c4b038718a55995db0d84_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i660c6b3719e743cc91c81a2f5d09ee9e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie3c16b11d8c04474b7224e1c81070f4b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i12a490bcd6e54fa39ef87761075bce15_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i132c64cddb73455a92156d96655fdbd4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i75172e0d12aa41e897f3008a254f2d6e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i21b8339fac20406f9994550dc089019f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:CommonStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i76b68257c8204049a3fce20ee83b8cc7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if06bdd85069643119ec0cb06036459ac_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia153aa0a9f3943a8be4ccff4cf2753a4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7487da7a982c4aba8a197fa3295dfcd0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:LiabilityPerformanceBasedStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i88ac52e5e41b4557b5639cb817c6d660_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:LiabilityPerformanceBasedStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i150d92e10210460693ad12ff2665bf74_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:LiabilityPerformanceBasedStockAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i239edba4bcdf4ab6948b2b5aebaf5d26_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5b996b49bf634fb4bbf0799024d11963_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0df4303895db47fca920b9891c363fcd_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ida41e4320bf2444bab679eeadc7c1070_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie4a1744c27024b2e92b88bd4ff34cb56_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7bc81b431d3f4ea2ba523e5c6ac13017_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="icee42756884b4784bf462a9bce295f99_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3f56c8daeaa9422696533e13776df348_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i04c3b4297dd24a4da29f27e23462b3c0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id997f5ca8822469685f52cc1bafe8f20_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8fb1795b55174b1eb3b7c413164e9d8e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i48f26274f0334c15863617b22ee8a6cd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1715f738f8b242d592885de15b23a415_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="idb4aa06027d24e728e5a1f969043a65c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ibp:TwoThousandAndFourteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id2a0fc5b7cc64b24b1b2ec3bc14ee6cb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:LiabilityPerformanceBasedStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2299628fed9042b09445da1f060ab258_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4fbfc4161e014f038a75a2c8b75d93bc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ida7b416dcdea4542890f8740020b00c7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib1f45502ea9c4d7bb195c32efacbc781_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:OfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9efd162959e7412e918ffab7819cc4b4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:OfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i13fdb326fdce45ee8e4d353d41677509_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ibp:CertainEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie641f653c57440e38c7c481f7ffbc332_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ibp:CertainEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5b807b6b475d40ef9d8fb1a8bf635393_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ibp:CertainEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8a303a5893134d8d83ac6f21d3a8b74f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0557534de1cc4ab5a4eedb6ce63c4f57_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ibp:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i279514d5adc14befa2c052fac8e8c4f3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i62a2bd0cf63844558b2225c99216c7d3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">ibp:DeferredIncomeTaxLiabilitiesNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia9b0eb31b8fb4f7387b17bd873334d79_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">ibp:DeferredIncomeTaxLiabilitiesNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib51a7c5eb2bd421084703832f40196b7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i79941af26dc14243b7ea25a038cf6b27_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i90f5cf7c1da8419994e4e185337e652a_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9ec6aa8008364ef29537c5c1879cbccf_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i650a6ff79fad433695301dc006d5608f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i727472d97df44953949e33391cd41c4c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ScheduleOfMalpracticeInsuranceTypeAndTierIdentifierAxis">us-gaap:GeneralLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iab2267a406834502bca7dae5b6556677_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ScheduleOfMalpracticeInsuranceTypeAndTierIdentifierAxis">us-gaap:GeneralLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1d5c960cbdaa449fb210e259173b1e45_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i22dea49c336e4bfe9fb3722f033d7a50_D20210301-20210301">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:IWMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-01</startDate>
            <endDate>2021-03-01</endDate>
        </period>
    </context>
    <context id="i17396599959b4cff9eefe2b2b886e381_D20210413-20210413">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AlertInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-13</startDate>
            <endDate>2021-04-13</endDate>
        </period>
    </context>
    <context id="i061743bb66d1436ca7367a1c900dd989_D20210419-20210419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AlpineConstructionServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-19</startDate>
            <endDate>2021-04-19</endDate>
        </period>
    </context>
    <context id="i36881a2d716847d58725b75fa04c87ba_D20210607-20210607">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:GCPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-07</startDate>
            <endDate>2021-06-07</endDate>
        </period>
    </context>
    <context id="ib69ee9f4197b4ea2b91e372b98c1a8c6_D20210913-20210913">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:FiveStarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-13</startDate>
            <endDate>2021-09-13</endDate>
        </period>
    </context>
    <context id="i515b49d0914a46e09a6fcccdaf22c80b_D20211101-20211101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:DenisonGlassAndMirrorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2021-11-01</endDate>
        </period>
    </context>
    <context id="icff9946601ee44e6b70ddc61831e5520_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:DenisonGlassAndMirrorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i01ee5610786147129e6c44230d3f7150_D20211122-20211122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:CFIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-22</startDate>
            <endDate>2021-11-22</endDate>
        </period>
    </context>
    <context id="i5d32f29c1baa482b8cf269b077c1b7b6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:CFIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic501185c258648068bdbf1311354aadf_D20211212-20211212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AMDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-12</startDate>
            <endDate>2021-12-12</endDate>
        </period>
    </context>
    <context id="i8eee7fcd9e5c46bf8c13519b87cce0bb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AMDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:OtherAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ief35238ab2e14feb830d8cdf98876cd2_D20200229-20200229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:RoyalsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-29</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="i7ebef17775874ad89f3ba8532a37d1ef_D20200810-20200810">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:EnergyOneAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-10</startDate>
            <endDate>2020-08-10</endDate>
        </period>
    </context>
    <context id="iea9305a31edc4178b527284121b869c5_D20200831-20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:StormMasterGutterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-31</startDate>
            <endDate>2020-08-31</endDate>
        </period>
    </context>
    <context id="i7843756af65843fab3e0fce0a8139442_D20201013-20201013">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:NorkoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-13</startDate>
            <endDate>2020-10-13</endDate>
        </period>
    </context>
    <context id="ide64f41394434869897b9f0f78ce7857_D20201026-20201026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:ICONMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-26</startDate>
            <endDate>2020-10-26</endDate>
        </period>
    </context>
    <context id="iedcabb59eb264914b863f4fbddd84b41_D20201116-20201116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:WeatherSealMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-16</startDate>
            <endDate>2020-11-16</endDate>
        </period>
    </context>
    <context id="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:OtherAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i935dc7df554142e7a82e86799b1ccfd2_D20190318-20190318">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:FirstStateInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-18</startDate>
            <endDate>2019-03-18</endDate>
        </period>
    </context>
    <context id="ib9ca4cac1b1042fbbc90cbacde02d083_D20190624-20190624">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:ExpertInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-24</startDate>
            <endDate>2019-06-24</endDate>
        </period>
    </context>
    <context id="i8d4adbb2df514874961aa5b8fbb998ff_D20191118-20191118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:PremierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-18</startDate>
            <endDate>2019-11-18</endDate>
        </period>
    </context>
    <context id="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:OtherAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5ac74245dc0241648a6aa55e0784cb81_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:IWMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic736a970fac04b8993d7c8479c73f1f6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AlertInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AlpineConstructionServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i305a1d2d685e432b836978208cceb900_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:GCPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3edb4743bee0437ab2efecd5abfad131_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:FiveStarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ieb0273e5e90e40af9795086b5c586edc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:DenisonGlassAndMirrorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:CFIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3e4f58546ff24e0697562e9d6dc9b621_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AMDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id933915e88294972af327766f0f0f4f1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:OtherAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4963ce5982584f8c87f6d0e67a71b16e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:TwoThousandTwentyOneAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id5655a9fac89466c85563097b58aadbf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:IWMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id9b338515efa4bc3b4e8c33ca67adae6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AlertInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id51716c892f44cfdb809bfe71b0c4838_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:AlpineConstructionServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iec35ca51bb2a47e38ea2a30ee7041fb3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:GCPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9f9e324c797a45cea0c0ea78338917fa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:FiveStarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i61b480e96b42420ba74769fb104f8a40_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:TwoThousandTwentyOneAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i072959bd1d2a452aa62521bd2744d48d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:RoyalsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:EnergyOneAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9a3b3fbed11345eca8680938e473f541_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:StormMasterGutterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:NorkoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0fd5b3fbcaad4012a373fa3663d67765_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:ICONMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9356cf92c43a4c2badcb79510e668892_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:WeatherSealMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i864afebb2aad483189b2270f8b0e1984_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:OtherAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:TwoThousandTwentyAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icd05f54c57aa49538f1d9d3fc4568f95_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:RoyalsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icd153c1f96984fc6af173d8ddd2fbc64_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:EnergyOneAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i04ca077bf0664d9593065ee8e4e798f8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:StormMasterGutterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idae67a05de174598b09e6266fdc3d565_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:NorkoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibfbd684a09f342c79676a3e96ee1f989_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:ICONMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7dc39f26a5584f0a998a300b19a8c423_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:WeatherSealMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib849a21583cf4aa5b1fd8ab726e2ae05_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:TwoThousandTwentyAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib06750678a884bd283eb7a041999ddba_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:FirstStateInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie70804ed36b541c788d22765da853ce1_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:ExpertInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:PremierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic8a689bd0cb8459bb9cf922fb7692773_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:OtherAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:TwoThousandNineteenAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i6f78bb4adaa341e3b1c2f637278bee4d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:FirstStateInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="icda702b2d97a4c299f9918d10eb39261_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:ExpertInsulationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i04f20f3e43174b4d8b0352621ce9dfc3_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:PremierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i011244feb3344b7aa1d4bd8f15ebe70b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ibp:TwoThousandNineteenAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id01d90dddf904fdaab004cdce7799510_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i980ab1ba419c494d9c3a00cd0589c2c5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id3f2d9dc2f0144d8ba6c7127ee33e8cd_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifadf1adf5186465b83ccaec823d4f4e2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i778f5b9dbf804fe8874c47ad7a9dcd26_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i710ecfed551547be9f8c778d5ce54dbc_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia2b04b2f610d4db3a8db8ce3e0850733_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</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="i94dcb07c026247adbc5d3d3ad892912e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1c0e65a5354046438ee93bcb1f158bbd_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7df2690ae92340cb84f4300a67ec77d2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic2f17f8ce1cd481aa001d23926033bb1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4a14cfc5cc2a4cd882afc7dde45733ec_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i044517d10881459f988213eb505df297_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i99f76a2c2305424d95b03544db5a6e6c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibcd211dc9f8240aa85d972102dc288ca_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9a14af1cd4464fe4aa5c3a05fc7385d6_I20220224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-24</instant>
        </period>
    </context>
    <context id="i6b725af97c5344769b8c664bc7525cbe_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="id3ea1b7109f1441aa15129a3f3d708b5_I20220224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-24</instant>
        </period>
    </context>
    <context id="ie29c56d6e70e4c0ca337f643ea56fd44_I20220224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-24</instant>
        </period>
    </context>
    <context id="i4422bbd9c48e496cae1f9926b7d31b87_I20220224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-24</instant>
        </period>
    </context>
    <context id="ia5ce9bc104e442a6ab5038c1ce999ba7_I20220224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ibp:AblCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-24</instant>
        </period>
    </context>
    <context id="i74c114fb2f5e4b57907bebcc54a69218_I20220224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-24</instant>
        </period>
    </context>
    <context id="ifab9e92aaa0c428a80ead59a4607ff96_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001580905</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </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="location">
        <measure>ibp:location</measure>
    </unit>
    <unit id="segment">
        <measure>ibp:segment</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="swap">
        <measure>ibp:swap</measure>
    </unit>
    <unit id="installment">
        <measure>ibp:installment</measure>
    </unit>
    <unit id="business">
        <measure>ibp:business</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl80L2ZyYWc6ZjU1N2RkMzJiZmQ0NDBjNTllMTQwOWVjYjgxOGUxYWUvdGFibGU6NGVmOWY1NTY1YWIyNGE1ODkxMGNlYWY2NThjNWYyNzAvdGFibGVyYW5nZTo0ZWY5ZjU1NjVhYjI0YTU4OTEwY2VhZjY1OGM1ZjI3MF8zLTEtMS0xLTI1NzA1_bc1e4ee4-0af2-47fa-bc9d-4abb95b11681">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl80L2ZyYWc6ZjU1N2RkMzJiZmQ0NDBjNTllMTQwOWVjYjgxOGUxYWUvdGFibGU6NGVmOWY1NTY1YWIyNGE1ODkxMGNlYWY2NThjNWYyNzAvdGFibGVyYW5nZTo0ZWY5ZjU1NjVhYjI0YTU4OTEwY2VhZjY1OGM1ZjI3MF81LTEtMS0xLTI1NzA1_11364713-f01b-4f33-8d6d-1332c41e9e0b">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl80L2ZyYWc6ZjU1N2RkMzJiZmQ0NDBjNTllMTQwOWVjYjgxOGUxYWUvdGFibGU6NGVmOWY1NTY1YWIyNGE1ODkxMGNlYWY2NThjNWYyNzAvdGFibGVyYW5nZTo0ZWY5ZjU1NjVhYjI0YTU4OTEwY2VhZjY1OGM1ZjI3MF82LTEtMS0xLTI1NzA1_af2ed991-1738-4e2b-bfa2-add448d0b71e">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl80L2ZyYWc6ZjU1N2RkMzJiZmQ0NDBjNTllMTQwOWVjYjgxOGUxYWUvdGFibGU6NGVmOWY1NTY1YWIyNGE1ODkxMGNlYWY2NThjNWYyNzAvdGFibGVyYW5nZTo0ZWY5ZjU1NjVhYjI0YTU4OTEwY2VhZjY1OGM1ZjI3MF83LTEtMS0xLTI1NzA1_3bb0ff51-bbe8-4c65-aead-0ba07fa6600e">0001580905</dei:EntityCentralIndexKey>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i85df536ab8634182acc34ced68c9b227_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTI3MDE_b3fa4e1c-1fd3-481d-8732-96517a5de827">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i36306e1119af495c9d3eb9225633a992_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ4NjI_e7797fc1-0de6-4692-a722-be69a911a17c">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ifd73ab511d3d4788b3f110a86688f4d3_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5MDE_0047d001-0aec-4fc7-8d49-beabf3e8fa56">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i925ffd1a406b4f56aa1e3b2e544610ad_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5NTI_d1586227-4741-4395-bfb8-585d126efc27">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_03d44f05-2fbe-4c03-b5a8-5ebeb9bc4865">http://fasb.org/us-gaap/2021-01-31#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_f0fedead-4d87-4ea1-8505-d7dfb2dcb418">http://fasb.org/us-gaap/2021-01-31#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="id2a0fc5b7cc64b24b1b2ec3bc14ee6cb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzU2_d36cd044-05b0-4709-8ae1-a12e2d8b23f9"
      unitRef="shares">7000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i2299628fed9042b09445da1f060ab258_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzIxOTkwMjMyNTU5OTY_199662c8-5cfd-4819-9656-9f30a7ccbd42"
      unitRef="number">0.3333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i4fbfc4161e014f038a75a2c8b75d93bc_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzIxOTkwMjMyNTU5OTY_4eb83617-9124-4160-833b-a45f53d8678c"
      unitRef="number">0.3333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ida7b416dcdea4542890f8740020b00c7_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzIxOTkwMjMyNTU5OTY_e2d04d6a-c673-4340-b617-5cbe969a0798"
      unitRef="number">0.3333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ib1f45502ea9c4d7bb195c32efacbc781_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzIxOTkwMjMyNTYwMDg_645f6cb1-28f7-4f36-9bbd-6f7edc18d56c"
      unitRef="number">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i9efd162959e7412e918ffab7819cc4b4_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzIxOTkwMjMyNTYwMDg_9c7ecbe7-8567-49e1-9fec-5b8eec158110"
      unitRef="number">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i13fdb326fdce45ee8e4d353d41677509_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzcxNDY4MjU1ODEzNjM_df1a48c5-1802-48d8-be41-54b1bd7cf97f"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ie641f653c57440e38c7c481f7ffbc332_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzcxNDY4MjU1ODEzNTc_c559d6c3-9a74-4fa5-a698-3bf40127c4fc"
      unitRef="shares">7000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i5b807b6b475d40ef9d8fb1a8bf635393_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzcxNDY4MjU1ODEzNTA_95e0b6e3-640e-48c4-85de-c98d91fe402d"
      unitRef="shares">11000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i24b1182e111b4e27976f1dcec71bc9c3_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzcxNDY4MjU1ODEzOTk_afc38462-cc0b-4896-9d7d-a2013c968ff2"
      unitRef="shares">8000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i8a303a5893134d8d83ac6f21d3a8b74f_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzcxNDY4MjU1ODEzOTI_fa27378d-e39b-4f2d-8c02-3ed7c79f526a"
      unitRef="shares">14000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0557534de1cc4ab5a4eedb6ce63c4f57_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzAvZnJhZzo1MDk5MzNiNGUzNzI0NGNiYTRlNDlhNDIxNDMwNmE5ZS90ZXh0cmVnaW9uOjUwOTkzM2I0ZTM3MjQ0Y2JhNGU0OWE0MjE0MzA2YTllXzcxNDY4MjU1ODEzODU_66eeb7f3-7661-4137-bf1e-5ef36033db78"
      unitRef="shares">14000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i4a14cfc5cc2a4cd882afc7dde45733ec_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDUvZnJhZzoyYWRmM2EwOWM3ZTE0ZGRkOTMxZWVhZmFhYmI0NDVlNC90YWJsZTpiM2M0YTAxN2E1NzQ0ODlmODYxOWE1Y2NhNzJkMjE3ZC90YWJsZXJhbmdlOmIzYzRhMDE3YTU3NDQ4OWY4NjE5YTVjY2E3MmQyMTdkXzItMy0xLTEtMjU3MDU_af6a67d1-1c3c-4f75-b92e-6a9ffad3471d">P0Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTEvZnJhZzowMTMzODNiNTA1OGE0YjczYjMyMGQxNTgwNjlkY2Q5NC90ZXh0cmVnaW9uOjAxMzM4M2I1MDU4YTRiNzNiMzIwZDE1ODA2OWRjZDk0XzMz_f34ac7fd-d105-4fee-a06d-66c03cb1d892"
      unitRef="shares">4000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <dei:DocumentType
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzUw_9bd775a9-d1e7-499c-a7ff-9df5473f65d9">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6OTMwOGJlYjYwMzRiNDI1OTgzNzA3MGU3YTNiMzFhZTEvdGFibGVyYW5nZTo5MzA4YmViNjAzNGI0MjU5ODM3MDcwZTdhM2IzMWFlMV8wLTAtMS0xLTI1NzA1_c9d402be-93b6-41eb-967a-3e3d0cf15452">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8xNzU_9544d4dd-8c28-422f-bfbf-219e59f5c819">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8xNzU_a3bb2c59-91de-490a-b030-216f962ccea2">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6ZWQ4OTIzMWMzNzliNGVjNTlhMWNiNjI1MmFlZGEzM2EvdGFibGVyYW5nZTplZDg5MjMxYzM3OWI0ZWM1OWExY2I2MjUyYWVkYTMzYV8wLTAtMS0xLTI1NzA1_763f2c68-8820-496d-8347-675fc3579e5f">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQ2_ae9554f3-415c-4503-8d89-0e3b998b6624">001-36307</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQ3_14244e49-1f37-48fc-98cf-366fd6b36544">Installed Building Products, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6NjljMGZkZWM2MjIxNGMzZmFiOTUzY2U0MzY2OTY5OTYvdGFibGVyYW5nZTo2OWMwZmRlYzYyMjE0YzNmYWI5NTNjZTQzNjY5Njk5Nl8wLTAtMS0xLTI1NzA1_2c9c9f19-decc-4b13-97d9-c5f0814e8a3a">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6NjljMGZkZWM2MjIxNGMzZmFiOTUzY2U0MzY2OTY5OTYvdGFibGVyYW5nZTo2OWMwZmRlYzYyMjE0YzNmYWI5NTNjZTQzNjY5Njk5Nl8wLTMtMS0xLTI1NzA1_de158379-c2fd-4a5c-8c9d-65c8a11587b0">45-3707650</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6NjljMGZkZWM2MjIxNGMzZmFiOTUzY2U0MzY2OTY5OTYvdGFibGVyYW5nZTo2OWMwZmRlYzYyMjE0YzNmYWI5NTNjZTQzNjY5Njk5Nl8zLTAtMS0xLTI1NzA1L3RleHRyZWdpb246MmYxZDY2NjdmNjI1NDUxYzhmZWY4NzdlOWZiNWExZjRfNA_34cc93c9-c1f6-42b0-9241-fff340040c21">495 South High Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6NjljMGZkZWM2MjIxNGMzZmFiOTUzY2U0MzY2OTY5OTYvdGFibGVyYW5nZTo2OWMwZmRlYzYyMjE0YzNmYWI5NTNjZTQzNjY5Njk5Nl8zLTAtMS0xLTI1NzA1L3RleHRyZWdpb246MmYxZDY2NjdmNjI1NDUxYzhmZWY4NzdlOWZiNWExZjRfOA_f1f8e978-1182-416a-abf1-3a0634d621e9">Suite 50</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6NjljMGZkZWM2MjIxNGMzZmFiOTUzY2U0MzY2OTY5OTYvdGFibGVyYW5nZTo2OWMwZmRlYzYyMjE0YzNmYWI5NTNjZTQzNjY5Njk5Nl80LTAtMS0xLTI1NzA1L3RleHRyZWdpb246YTZjMDViNGIxODk3NDA2ZDgxNDhkMWUwMTA2ODU5Y2ZfNA_6c31dcc6-c37d-4f2f-bdfd-5cfc3600ebbe">Columbus</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6NjljMGZkZWM2MjIxNGMzZmFiOTUzY2U0MzY2OTY5OTYvdGFibGVyYW5nZTo2OWMwZmRlYzYyMjE0YzNmYWI5NTNjZTQzNjY5Njk5Nl80LTAtMS0xLTI1NzA1L3RleHRyZWdpb246YTZjMDViNGIxODk3NDA2ZDgxNDhkMWUwMTA2ODU5Y2ZfOA_e958dd5d-4ac6-4b5d-9ca1-b6eb08284339">OH</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6NjljMGZkZWM2MjIxNGMzZmFiOTUzY2U0MzY2OTY5OTYvdGFibGVyYW5nZTo2OWMwZmRlYzYyMjE0YzNmYWI5NTNjZTQzNjY5Njk5Nl80LTMtMS0xLTI1NzA1_694c6475-a45f-43e1-902f-53f031b9d574">43215</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzUx_2097bae1-d15d-449e-a17f-74d1b4cd55a0">(614)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzUz_cd21d91c-619c-40e2-9de9-1f3f1ad7fdf9">221-3399</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6ZTM5Njc5NGIyNGFmNDExMmI4YzBlODRmY2I1YTdlYmQvdGFibGVyYW5nZTplMzk2Nzk0YjI0YWY0MTEyYjhjMGU4NGZjYjVhN2ViZF8xLTAtMS0xLTI1NzA1_4ba3f727-85b3-4891-a5f6-294f5dc68168">Common Stock,</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6ZTM5Njc5NGIyNGFmNDExMmI4YzBlODRmY2I1YTdlYmQvdGFibGVyYW5nZTplMzk2Nzk0YjI0YWY0MTEyYjhjMGU4NGZjYjVhN2ViZF8xLTMtMS0xLTI1NzA1_c98d3c23-2a5d-4147-a8ad-5733b4654951">IBP</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6ZTM5Njc5NGIyNGFmNDExMmI4YzBlODRmY2I1YTdlYmQvdGFibGVyYW5nZTplMzk2Nzk0YjI0YWY0MTEyYjhjMGU4NGZjYjVhN2ViZF8xLTUtMS0xLTI1NzA1_18adebee-357d-49db-b756-562d79b59a81">NYSE</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQx_5d76f896-4133-4b99-b88f-288a60b582fa">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQy_09b1f6bd-a548-4812-b168-c818b1ec9e86">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQ4_160d47de-ba19-4c22-b5bb-6770d9afd9ae">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQ5_e38ac279-c18e-4cbe-8ac3-376fcb877798">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6YWVhOWEwMzc5MzlkNDNmZTg1NWVhNmUzZTZkNjg1NTAvdGFibGVyYW5nZTphZWE5YTAzNzkzOWQ0M2ZlODU1ZWE2ZTNlNmQ2ODU1MF8wLTAtMS0xLTI1NzA1_c0408ce0-fc00-45fc-a355-57fab126c32b">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6YWVhOWEwMzc5MzlkNDNmZTg1NWVhNmUzZTZkNjg1NTAvdGFibGVyYW5nZTphZWE5YTAzNzkzOWQ0M2ZlODU1ZWE2ZTNlNmQ2ODU1MF8xLTMtMS0xLTI1NzA1_9bf8cd0d-a16c-482f-96b0-86dee1ffa3b3">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGFibGU6YWVhOWEwMzc5MzlkNDNmZTg1NWVhNmUzZTZkNjg1NTAvdGFibGVyYW5nZTphZWE5YTAzNzkzOWQ0M2ZlODU1ZWE2ZTNlNmQ2ODU1MF8yLTMtMS0xLTI1NzA1_fd07db58-f399-4280-8ace-56476d009bba">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQz_516e1bfb-7180-4a73-bf2b-72988a8d3f05">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQ0_5ebf541a-985c-40ac-93bd-9b6ca9692db6">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="id4eb2eea74ae450682564a6cc0e77417_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQ1_10508593-08f6-45f9-83db-e2fce9c1fc7c"
      unitRef="usd">2891660953</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i1b57c6bfc8634905a40abda0fc0b339b_I20220217"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8yODc1_6833d361-c6cb-4208-a2ba-5398396e2706"
      unitRef="shares">33271659</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xL2ZyYWc6NTdlZmFjY2ZiZTExNGJiMjhlZjM5MWVlZWM1Y2U3ODUvdGV4dHJlZ2lvbjo1N2VmYWNjZmJlMTE0YmIyOGVmMzkxZWVlYzVjZTc4NV8zMzQw_f4eb6a95-2b0c-45dd-869b-141a7d69454e">Portions of the registrant&#x2019;s Definitive Proxy Statement relating to the 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this Annual Report on Form 10-K where indicated. Such Definitive Proxy Statement will be filed with the Securities and Exchange Commission within 120 days after the end of the registrant&#x2019;s fiscal year ended December&#160;31, 2021.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorName
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83MC9mcmFnOjkyMjA3OGMxN2ZlNTRkZjliYzIxMjkyMDg0ZTJhNDQwL3RleHRyZWdpb246OTIyMDc4YzE3ZmU1NGRmOWJjMjEyOTIwODRlMmE0NDBfMjE5OTAyMzI3NDA3OA_5ec52ee3-fab2-4d61-852b-27c77652c539">Deloitte &amp; Touche LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83MC9mcmFnOjkyMjA3OGMxN2ZlNTRkZjliYzIxMjkyMDg0ZTJhNDQwL3RleHRyZWdpb246OTIyMDc4YzE3ZmU1NGRmOWJjMjEyOTIwODRlMmE0NDBfNjA0NzMxMzk3MTI5Mw_be5780bf-849e-4acd-812a-fed94036bfe0">Columbus, Ohio</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNC0xLTEtMS0yNTcwNQ_f304f9d0-37a8-492d-9608-64e9670be393"
      unitRef="usd">333485000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNC0zLTEtMS0yNTcwNQ_3c81c50b-655d-49d7-9259-8d801f009b41"
      unitRef="usd">231520000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNi0wLTEtMS0yNTcwNS90ZXh0cmVnaW9uOmM0MjRkZTA5MmM4YjQwNWI5YmFkNzFkODYwMTNhNTkxXzYx_f3f777b1-451e-4743-a10f-e7ae61c4e7e9"
      unitRef="usd">8717000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNi0wLTEtMS0yNTcwNS90ZXh0cmVnaW9uOmM0MjRkZTA5MmM4YjQwNWI5YmFkNzFkODYwMTNhNTkxXzY4_8d76115f-4a3e-4fc6-9bbd-c7ec4a66867b"
      unitRef="usd">8789000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNi0xLTEtMS0yNTcwNQ_a9518402-ca25-43cd-875b-f164cc3af8e3"
      unitRef="usd">312767000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNi0zLTEtMS0yNTcwNQ_30c129db-b66f-4c00-b562-39fa0500888d"
      unitRef="usd">266566000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNy0xLTEtMS0yNTcwNQ_8b4294c5-1b6b-422d-a013-4d714822466c"
      unitRef="usd">143039000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNy0zLTEtMS0yNTcwNQ_d3599df0-753c-45b1-832e-59feb2187367"
      unitRef="usd">77179000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfOC0xLTEtMS0yNTcwNQ_d0aef73c-74f0-48c6-baf6-f62a01ae5ee7"
      unitRef="usd">70025000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfOC0zLTEtMS0yNTcwNQ_45979a1f-da58-49fd-a152-e882ce19b929"
      unitRef="usd">48678000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfOS0xLTEtMS0yNTcwNQ_c1d8a4f2-e009-4467-b15f-adc3e59ac7c0"
      unitRef="usd">859316000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfOS0zLTEtMS0yNTcwNQ_7b91d08a-b05c-4f84-a8b9-f607a98db692"
      unitRef="usd">623943000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTAtMS0xLTEtMjU3MDU_14f7829e-31ba-4cb6-8696-5194717e2cdc"
      unitRef="usd">105933000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTAtMy0xLTEtMjU3MDU_6969935d-679d-40c4-b305-9600ad16991c"
      unitRef="usd">104022000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTEtMS0xLTEtMjU3MDU_108d8307-e093-408e-804c-396b11cfba7d"
      unitRef="usd">69871000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTEtMy0xLTEtMjU3MDU_d62cb14e-42ee-48ce-a658-9ebc69fa1b0a"
      unitRef="usd">53766000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTItMS0xLTEtMjU3MDU_83546af4-334a-4902-8d85-e75c77dfb85a"
      unitRef="usd">322517000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTItMy0xLTEtMjU3MDU_f791ebd4-4828-439a-8e2e-85ebb9c898e8"
      unitRef="usd">216870000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iab9664d6222046958f491093a96493de_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTMtMS0xLTEtMjU3MDU_4e611203-b46d-428f-a20b-6cfe29e342df"
      unitRef="usd">178264000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i805319171b5849b8acf58337e96f048c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTMtMy0xLTEtMjU3MDU_79adc1cc-62a2-4f48-837e-a4720c6a9ba3"
      unitRef="usd">108504000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i1520d43811744173af09973db28a225d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTQtMS0xLTEtMjU3MDU_47dc3069-6e44-405d-872a-3dc861a775bd"
      unitRef="usd">86157000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifb7cc57be85b499987f3b5ef8fd72e3e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTQtMy0xLTEtMjU3MDU_1c1b213a-ac48-4e87-b545-99aa9aea6b02"
      unitRef="usd">62889000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTUtMS0xLTEtMjU3MDU_01430e38-4c09-4ce3-8cf4-a75187c249c8"
      unitRef="usd">31144000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTUtMy0xLTEtMjU3MDU_43ad941e-6941-4afd-ad33-4b3b25d3905f"
      unitRef="usd">17682000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTYtMS0xLTEtMjU3MDU_2674affa-9450-4d15-9041-e3c98ed7b496"
      unitRef="usd">1653202000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTYtMy0xLTEtMjU3MDU_d4a594a3-f875-4664-922b-99bda7ee5e5c"
      unitRef="usd">1187676000</us-gaap:Assets>
    <us-gaap:LongTermDebtCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTktMS0xLTEtMjU3MDU_66c8f2e6-fae8-4ff5-a90a-e97944ad8fe9"
      unitRef="usd">30839000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMTktMy0xLTEtMjU3MDU_483b54f5-1c6f-4974-a442-ef9d376f7bec"
      unitRef="usd">23355000</us-gaap:LongTermDebtCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjAtMS0xLTEtMjU3MDU_e988060c-51b4-4625-95d2-2bbaaef391f2"
      unitRef="usd">23224000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjAtMy0xLTEtMjU3MDU_9cc333b6-eb9c-4431-89a1-b164a861e0ca"
      unitRef="usd">18758000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjEtMS0xLTEtMjU3MDU_830fd76c-cbb2-4bc9-bf5f-bb40f5941f17"
      unitRef="usd">1747000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjEtMy0xLTEtMjU3MDU_3d275cab-ebb8-4d2a-b443-f06da6b79481"
      unitRef="usd">2073000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjItMS0xLTEtMjU3MDU_d76298e0-2134-4ffb-86d3-66a0de250205"
      unitRef="usd">132705000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjItMy0xLTEtMjU3MDU_6e53efcb-12d7-42e5-a8a0-86a3927b30fa"
      unitRef="usd">101462000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjMtMS0xLTEtMjU3MDU_f0451953-5ac5-4368-afcb-b61b350a9b3a"
      unitRef="usd">50964000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjMtMy0xLTEtMjU3MDU_510ef9a6-4a8b-438f-86b9-e0f43d6f6e7d"
      unitRef="usd">45876000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjQtMS0xLTEtMjU3MDU_316e7d73-4368-432f-ac79-0a493e51315f"
      unitRef="usd">68090000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjQtMy0xLTEtMjU3MDU_05f93289-a3e6-4c5a-b920-5a84f08c7b78"
      unitRef="usd">44951000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjUtMS0xLTEtMjU3MDU_d07c6d0c-63bd-4214-b139-910a7dbaaf62"
      unitRef="usd">307569000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjUtMy0xLTEtMjU3MDU_05ca4028-e2da-4615-bb0c-519bba2b97ce"
      unitRef="usd">236475000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjYtMS0xLTEtMjU3MDU_355c0fb1-3b0e-4448-8350-c0394604e244"
      unitRef="usd">832193000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjYtMy0xLTEtMjU3MDU_faa7dd50-6303-4c70-ba80-a7f1d407db63"
      unitRef="usd">541957000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjctMS0xLTEtMjU3MDU_22821a82-b6c9-42a3-9038-2dab27edb400"
      unitRef="usd">46075000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjctMy0xLTEtMjU3MDU_3e65ae85-ecd7-4e5a-a0c4-cbf675a71ea0"
      unitRef="usd">34413000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjgtMS0xLTEtMjU3MDU_9e696b33-71d2-41a3-9dac-64531d8d7230"
      unitRef="usd">3297000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjgtMy0xLTEtMjU3MDU_5dbcaa7a-5cfd-4a75-bfae-5c82a9afa684"
      unitRef="usd">2430000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjktMS0xLTEtMjU3MDU_0154586c-2d34-4935-a20c-82258dade23c"
      unitRef="usd">4819000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMjktMy0xLTEtMjU3MDU_3d9fda18-26a7-42ab-97b5-146f0c0931a6"
      unitRef="usd">35000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzAtMS0xLTEtMjU3MDU_9891177a-e474-4e1d-bfec-164b3947700e"
      unitRef="usd">42409000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzAtMy0xLTEtMjU3MDU_0c625a90-8215-4de7-a76e-50b40936e6ae"
      unitRef="usd">53184000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzEtMS0xLTEtMjU3MDU_5a77142c-dfad-4a68-9dda-98226aab5cd4"
      unitRef="usd">1236362000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzEtMy0xLTEtMjU3MDU_bac59fbe-e7c1-48b1-a5ea-8834cee38ab8"
      unitRef="usd">868494000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzItMS0xLTEtMjU3MDU_7b5335bb-6520-491f-b217-ea1b05ddddc5"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzItMy0xLTEtMjU3MDU_82076245-8d41-47c3-a224-52d2572a937a"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl8yMQ_013789bb-dc72-4cc1-91fb-1b53f704d45d"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl8yMQ_8c9ec886-39c4-4819-a2c3-3fd53bbdc69b"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl8zNQ_6e244fa7-b9ea-41be-b7ef-b3306a047055"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl8zNQ_ba8f1715-6195-479c-929e-c5bca3c697f4"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl81Mw_25d00f6d-5a52-487a-b270-75f3a4e306b0"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl81Mw_47ca612f-d7ab-47b5-a688-76072566a2e1"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl81Mw_52422d57-87e2-4b89-a7a1-d544161404d8"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo4ODdiNzE0MThlOWY0NTAxOTYxYmE0MTQzOGI0ZmJjNl81Mw_b2a238c8-5b0f-4bc4-b75f-b6e0e0395568"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMS0xLTEtMjU3MDU_3893b4c2-1bd4-4f98-a950-fd272d4299a5"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzQtMy0xLTEtMjU3MDU_c8399621-d8a0-4121-8d03-8a3bc52cdfd3"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF8xOA_1eeca1d2-5925-4910-8fdd-e94d20849645"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF8xOA_c7e88ec8-f763-44d5-add0-9c02e6d8ba80"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF8zMg_5f00d8bc-906a-49be-8158-130386e2b399"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF8zMg_a83432ab-b213-446f-b427-8f9c45fa9aa9"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF80Nw_e693e413-1a3f-4005-9a22-dad8680765f6"
      unitRef="shares">33271659</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF81NA_4a031b97-b136-41f5-b0bf-779e3cd21ec8"
      unitRef="shares">33141879</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF82OA_9fedd8f9-7703-4d30-ab19-408af0357867"
      unitRef="shares">29706401</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3ZDU0MmJmODAyMjg0M2JjODZhNTljNTYyYmEwMjg4OF83NQ_232d9f89-0702-4c02-8969-35e559435ead"
      unitRef="shares">29623272</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMS0xLTEtMjU3MDU_883a2923-de57-42cb-8afd-82a39cc2f967"
      unitRef="usd">333000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzUtMy0xLTEtMjU3MDU_c3d0fa10-6582-4586-8ffc-779c7010e6d7"
      unitRef="usd">331000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzYtMS0xLTEtMjU3MDU_160173c4-f03f-4aa2-8bd5-cb161c0dc9b0"
      unitRef="usd">211430000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzYtMy0xLTEtMjU3MDU_3e8f7382-6c2a-4fbe-807d-7f7f6b5261f9"
      unitRef="usd">199847000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzctMS0xLTEtMjU3MDU_32ec2601-a2e5-45b4-bf43-13465f6af371"
      unitRef="usd">352543000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzctMy0xLTEtMjU3MDU_5fbcb4dd-3730-49e7-a821-f44002a15a61"
      unitRef="usd">269420000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzgtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjowOTBiOGVlOGQxMTE0MmZjYmNjYzI2NzhmYzhlZGFmMF8yOQ_1e7735e1-882a-49c0-ac6a-6929f33c5cd7"
      unitRef="shares">3565258</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzgtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjowOTBiOGVlOGQxMTE0MmZjYmNjYzI2NzhmYzhlZGFmMF8zNg_441e217f-61e1-4e15-829e-11ebfb508b7c"
      unitRef="shares">3518607</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzgtMS0xLTEtMjU3MDU_93bf2392-9afa-4c35-a0ce-d12bbe5abed4"
      unitRef="usd">147239000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzgtMy0xLTEtMjU3MDU_87c39bf0-35e1-4b01-ab10-04ef6d985060"
      unitRef="usd">141653000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzktMS0xLTEtMjU3MDU_050a441c-0ab2-42f4-ab0c-48538c148c52"
      unitRef="usd">-227000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfMzktMy0xLTEtMjU3MDU_4828313a-306b-4447-90e1-da2731618fda"
      unitRef="usd">-8763000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNDAtMS0xLTEtMjU3MDU_b282aa06-e9f9-4e8e-8912-e1ac70e97a4f"
      unitRef="usd">416840000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNDAtMy0xLTEtMjU3MDU_a9cc774f-54ce-413f-bb52-01cea152bdff"
      unitRef="usd">319182000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNDEtMS0xLTEtMjU3MDU_950a842b-2ea2-4953-adf9-9255236a89d4"
      unitRef="usd">1653202000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83My9mcmFnOjI4YjRmMDJmYzlkNTQzNTFiNTU2ZWU1ODU4MmYwYTdmL3RhYmxlOjZiMDM1MzQyZjE1YjRhMTQ4ZjBjNzI0YzFiZmVjMWI5L3RhYmxlcmFuZ2U6NmIwMzUzNDJmMTViNGExNDhmMGM3MjRjMWJmZWMxYjlfNDEtMy0xLTEtMjU3MDU_1786dee7-afc7-4b52-bdd6-5f12c0747a7e"
      unitRef="usd">1187676000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMi0xLTEtMS0yNTcwNQ_5cb93707-ee63-4494-b2c5-49b7be41f419"
      unitRef="usd">1968650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMi0zLTEtMS0yNTcwNQ_02578b33-4c80-465a-a304-399c3d57265f"
      unitRef="usd">1653225000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMi01LTEtMS0yNTcwNQ_e3647303-5dc7-4052-8a44-a6b78c2de48a"
      unitRef="usd">1511629000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMy0xLTEtMS0yNTcwNQ_9b832ee2-dba1-4556-a5ae-644555f4e27c"
      unitRef="usd">1379131000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMy0zLTEtMS0yNTcwNQ_e81c2071-68f4-480a-8415-af7b4da31772"
      unitRef="usd">1143251000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMy01LTEtMS0yNTcwNQ_97ecd740-532f-4be0-a57a-f60629d493f4"
      unitRef="usd">1076809000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNC0xLTEtMS0yNTcwNQ_b44feb80-3795-4927-843f-adbcb15efc5b"
      unitRef="usd">589519000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNC0zLTEtMS0yNTcwNQ_86d1799d-0382-4ac2-9980-6b612f851cdf"
      unitRef="usd">509974000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNC01LTEtMS0yNTcwNQ_f2c30a6b-9931-4030-83b9-6acf37b2b1a6"
      unitRef="usd">434820000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNi0xLTEtMS0yNTcwNQ_7873a350-b874-45e9-9459-f5e25d1d6f0f"
      unitRef="usd">93204000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNi0zLTEtMS0yNTcwNQ_5820ed9d-0960-456c-8d7d-a4d472b10a4f"
      unitRef="usd">81613000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNi01LTEtMS0yNTcwNQ_ded71ced-d744-4ee8-8f07-4053a07475c9"
      unitRef="usd">75016000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNy0xLTEtMS0yNTcwNQ_44e66c99-9824-48c8-b14f-11747654aaa0"
      unitRef="usd">271356000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNy0zLTEtMS0yNTcwNQ_cd283b7c-746f-4097-86ae-8010f22f6be5"
      unitRef="usd">237959000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfNy01LTEtMS0yNTcwNQ_ed8362ef-4cf5-41ae-a6f4-652ca78b5c39"
      unitRef="usd">214134000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfOC0xLTEtMS0yNTcwNQ_3198e193-d395-4613-bb25-fe35d2ec5996"
      unitRef="usd">37079000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfOC0zLTEtMS0yNTcwNQ_77292857-ae41-4cc3-a2be-6c246b7f69c3"
      unitRef="usd">28535000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfOC01LTEtMS0yNTcwNQ_0e626ca7-4297-49d0-b0e9-43c492b4280f"
      unitRef="usd">24510000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfOS0xLTEtMS0yNTcwNQ_45d311b0-693b-47d2-9baf-d5aade58f28c"
      unitRef="usd">187880000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfOS0zLTEtMS0yNTcwNQ_93c37f5f-64fd-4013-a61a-401dffd9d29f"
      unitRef="usd">161867000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfOS01LTEtMS0yNTcwNQ_a2793538-99b0-4360-8cf3-2d3a564ed889"
      unitRef="usd">121160000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTEtMS0xLTEtMjU3MDU_ed6d07b4-b587-48b8-8db3-df923ff1b8f7"
      unitRef="usd">32842000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTEtMy0xLTEtMjU3MDU_533c82ff-3eed-4c11-a5c9-f9875375f50c"
      unitRef="usd">30291000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTEtNS0xLTEtMjU3MDU_a137a42c-8ba1-4f16-8723-e1d8b0758e23"
      unitRef="usd">28104000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTItMS0xLTEtMjU3MDU_85f14807-d038-4c76-b240-b5a069086172"
      unitRef="usd">437000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTItMy0xLTEtMjU3MDU_8887fe70-07c8-42ea-a3e3-8659c28e884e"
      unitRef="usd">-399000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTItNS0xLTEtMjU3MDU_eb534499-5e98-460a-843b-acd19747ff2b"
      unitRef="usd">-451000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTMtMS0xLTEtMjU3MDU_26fa168c-64c1-4e52-ae16-80b1957a6393"
      unitRef="usd">155475000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTMtMy0xLTEtMjU3MDU_2b0b67c8-4311-489c-9b1c-8e6d058c5eff"
      unitRef="usd">131177000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTMtNS0xLTEtMjU3MDU_8ceba3bc-a87e-415f-bdae-977e46ea5f0f"
      unitRef="usd">92605000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTQtMS0xLTEtMjU3MDU_9dba072c-48f5-4299-ae40-2995305e3b7d"
      unitRef="usd">36712000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTQtMy0xLTEtMjU3MDU_9cd5c98b-b236-4414-aa55-6b635dcdfc10"
      unitRef="usd">33938000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTQtNS0xLTEtMjU3MDU_d10bbe2f-e73f-4a56-9427-5ed7a18fd9ab"
      unitRef="usd">24446000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTUtMS0xLTEtMjU3MDU_f44af8d7-cc15-474a-a1f0-c2588e1a69d1"
      unitRef="usd">118763000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTUtMy0xLTEtMjU3MDU_2a8f66dc-0f5f-4bef-93fa-d1ec9188f71e"
      unitRef="usd">97239000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTUtNS0xLTEtMjU3MDU_ebc533cb-b2a3-4cb5-843a-7641077d0cbe"
      unitRef="usd">68159000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTctMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo5YjVmNjg2OTE4NjE0Yzc5YjY2NzQ2NjdkYjIyZWQxN181OA_a7727076-c6bf-45c6-834d-35bf2c94ce76"
      unitRef="usd">2773000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTctMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo5YjVmNjg2OTE4NjE0Yzc5YjY2NzQ2NjdkYjIyZWQxN182Mg_f792576b-c568-40e2-ba93-304696ec467c"
      unitRef="usd">-550000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTctMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo5YjVmNjg2OTE4NjE0Yzc5YjY2NzQ2NjdkYjIyZWQxN182OQ_5cc09b22-c2fd-48c6-bfb2-6022b9c84781"
      unitRef="usd">-2225000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTctMS0xLTEtMjU3MDU_57bd3359-cebe-4c7c-8bf8-6b493cbbb93f"
      unitRef="usd">8536000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTctMy0xLTEtMjU3MDU_761ed15b-2987-4c5c-b86e-5008b51c284a"
      unitRef="usd">-1620000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTctNS0xLTEtMjU3MDU_6126e5ea-2b63-411d-85b7-4231fce079ea"
      unitRef="usd">-6712000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTgtMS0xLTEtMjU3MDU_dfa05805-490d-43c2-a973-ae38a53a9139"
      unitRef="usd">127299000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTgtMy0xLTEtMjU3MDU_4fb48680-958c-41a3-89db-41547793f04d"
      unitRef="usd">95619000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTgtNS0xLTEtMjU3MDU_a8453516-4d88-4899-9127-e9d1b13067fe"
      unitRef="usd">61447000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTktMS0xLTEtMjU3MDU_4bff4b08-a516-4936-9f09-c7acef63d5a3"
      unitRef="usdPerShare">4.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTktMy0xLTEtMjU3MDU_3d253a18-87aa-4e63-9bf8-0c4c135b6bf6"
      unitRef="usdPerShare">3.30</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMTktNS0xLTEtMjU3MDU_862f4639-f998-47c9-af74-53a0eea78701"
      unitRef="usdPerShare">2.29</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjAtMS0xLTEtMjU3MDU_ce7884fd-a938-4161-889a-6dcca7eb8f04"
      unitRef="usdPerShare">4.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjAtMy0xLTEtMjU3MDU_338a6f3d-c0a0-4518-8390-43959040f422"
      unitRef="usdPerShare">3.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjAtNS0xLTEtMjU3MDU_0f9959bd-a22a-4b3c-b4ec-27b8b1c1efc3"
      unitRef="usdPerShare">2.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjItMS0xLTEtMjU3MDU_cfe2d908-e053-48e7-bb38-f96eede5765e"
      unitRef="shares">29367676</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjItMy0xLTEtMjU3MDU_ccb59d30-6dec-4fb0-912e-eba85cd10910"
      unitRef="shares">29504115</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjItNS0xLTEtMjU3MDU_355661f3-607c-4c93-90c6-f455730c155d"
      unitRef="shares">29752644</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjMtMS0xLTEtMjU3MDU_389be877-5e87-4382-8b70-fca6fcfeb4c3"
      unitRef="shares">29628527</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjMtMy0xLTEtMjU3MDU_9a731a67-d4dd-40f9-acef-85cca50b200a"
      unitRef="shares">29717609</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjMtNS0xLTEtMjU3MDU_60af4a09-52e4-4190-a59b-5999db66b43e"
      unitRef="shares">29873106</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjUtMS0xLTEtMzA5MTQ_e4b22605-86c0-439b-8b23-ae49332c3158"
      unitRef="usdPerShare">1.20</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjUtMy0xLTEtMzQyNTc_6c9fdd78-1f3e-4a15-8dbb-cc15783286d9"
      unitRef="usdPerShare">0</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83Ni9mcmFnOmI2MjA5MjAyZGMzZjQxYzQ5MWZkYTdlMTQ3OTBjMTA0L3RhYmxlOmUzYzc2MTM3NjQ1YzRmNzA4ZDBkNWY5MWM5YWQzYjJjL3RhYmxlcmFuZ2U6ZTNjNzYxMzc2NDVjNGY3MDhkMGQ1ZjkxYzlhZDNiMmNfMjUtNS0xLTEtMzQyNTc_5f71106a-aac7-4ad7-a972-664c09c9f3d9"
      unitRef="usdPerShare">0</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockSharesIssued
      contextRef="i1861aa1621354f39853b606a68e67e23_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi0xLTEtMS0yNTcwNQ_b64b77d5-147a-4070-9712-4968eb57e51c"
      unitRef="shares">32723972</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i1861aa1621354f39853b606a68e67e23_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi0zLTEtMS0yNTcwNQ_0561426f-7aff-4c11-87e9-f2fa7d1d3159"
      unitRef="usd">327000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i17d8366924f84e148f7bdca2b05bebf4_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi01LTEtMS0yNTcwNQ_cf573738-6cb1-4fd2-8a9e-c88c6466c800"
      unitRef="usd">181815000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7ef99f406cac4b61a90987b5bae01bbb_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi03LTEtMS0yNTcwNQ_f60ec6ab-a379-4b58-bebf-7261c72de9f6"
      unitRef="usd">105212000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i03532def83da4dac85cb5d7100e81e87_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi05LTEtMS0yNTcwNQ_b0a6f86e-820f-4286-9922-31ccd302b44f"
      unitRef="shares">2808361</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="i03532def83da4dac85cb5d7100e81e87_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi0xMS0xLTEtMjU3MDU_4e9c316d-d09c-44f3-875c-ac17364d7f55"
      unitRef="usd">104425000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity
      contextRef="i6c658874a6f041c1a750b54665e69a9e_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi0xMy0xLTEtMjU3MDU_dfe4f0ed-c078-4d5b-8387-6bb214120822"
      unitRef="usd">-431000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia2263e5a5d344f14813fb7edf2fa2af9_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMi0xNS0xLTEtMjU3MDU_1e50661c-7e76-479d-b7a9-62f3f99f7d30"
      unitRef="usd">182498000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ibac61fdd5d2c4fcd818989c6e262379f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMy03LTEtMS0yNTcwNQ_2106a55d-3462-4d7f-b2d8-ea0ca29c975f"
      unitRef="usd">68159000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMy0xNS0xLTEtMjU3MDU_e689cb65-0715-4fbc-a3a2-30270f18eeb1"
      unitRef="usd">68159000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="i1a982078e60140e5860d79b5152fd9a0_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNS0xLTEtMS0yNTcwNQ_1dd1bbef-b16c-4c55-b10b-55cfafafd4f9"
      unitRef="shares">139862</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i1a982078e60140e5860d79b5152fd9a0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNS0zLTEtMS0yNTcwNQ_3abe866a-c9bf-4054-af5a-87dbac0a859d"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i4dd3b4224de64e6a83e9e9d6435d6bb9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNS01LTEtMS0yNTcwNQ_f626097c-6289-4042-99b0-c072ef24203a"
      unitRef="usd">-2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNS0xNS0xLTEtMjU3MDU_7633768e-09c5-4856-8fa5-1aa16c64425f"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited
      contextRef="ia994f023734143409ea884c9764d4c45_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNi05LTEtMS0yNTcwNQ_c80269ca-2cb7-46e9-a69f-de4e6b4be803"
      unitRef="shares">46803</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="ia994f023734143409ea884c9764d4c45_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNi0xMS0xLTEtMjU3MDU_9f7cf3be-686f-4e9b-8608-0b8def52c1ce"
      unitRef="usd">2331000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNi0xNS0xLTEtMjU3MDU_3292e820-2e67-4a40-8e1a-472c23b69b63"
      unitRef="usd">2331000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4dd3b4224de64e6a83e9e9d6435d6bb9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNy01LTEtMS0yNTcwNQ_1a0db301-2e71-41e9-9421-5d513137e09a"
      unitRef="usd">8057000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfNy0xNS0xLTEtMjU3MDU_a1b6d75b-4ee2-4def-9cd0-38376efff716"
      unitRef="usd">8057000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i1a982078e60140e5860d79b5152fd9a0_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfOC0xLTEtMS0yNTcwNQ_878bd1d4-d9f2-450c-b9a5-9c81423f53b9"
      unitRef="shares">7670</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i4dd3b4224de64e6a83e9e9d6435d6bb9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfOC01LTEtMS0yNTcwNQ_e0d90591-6ad5-4ccf-abfb-d264a8e56f6f"
      unitRef="usd">360000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfOC0xNS0xLTEtMjU3MDU_60ccfbfc-3b35-45ab-b2bd-7518743657c2"
      unitRef="usd">360000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i00b9748043694809ab4606738ac85bea_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTAtMTMtMS0xLTI1NzA1_1404a12d-2fe1-4d40-b3b0-a8d325bed9df"
      unitRef="usd">-6712000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTAtMTUtMS0xLTI1NzA1_ad1666fb-035d-4121-b4ec-2b9d30af2a5b"
      unitRef="usd">-6712000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="ie94dccad9f95476da9fa408522bca85c_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtMS0xLTEtMjU3MDU_9823ce32-b8e3-468d-b3c5-0c5e5cfa48aa"
      unitRef="shares">32871504</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ie94dccad9f95476da9fa408522bca85c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtMy0xLTEtMjU3MDU_07f5bcc5-ed02-478a-8e40-96a455bc5e43"
      unitRef="usd">329000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic614be3f8b2e455490d69ba71f089c38_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtNS0xLTEtMjU3MDU_9a7aa5ab-838c-467b-a75b-027d4ce26924"
      unitRef="usd">190230000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia729ab267e5c4387b1f1e2912f314268_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtNy0xLTEtMjU3MDU_827232d2-5cc4-4799-9bec-d2f1cd1a7270"
      unitRef="usd">173371000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i67dfaf60bec74509a4a90e8c92088284_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtOS0xLTEtMjU3MDU_733e8c48-dc00-40c0-9879-9a98067a5374"
      unitRef="shares">2855164</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="i67dfaf60bec74509a4a90e8c92088284_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtMTEtMS0xLTI1NzA1_48ac3a91-ce8e-4c0d-9800-3a441e43e26d"
      unitRef="usd">106756000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity
      contextRef="i85fc433c12fb438a8ec9872de02ecf02_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtMTMtMS0xLTI1NzA1_f2873a85-7a48-4a66-b6ae-21dc4576448e"
      unitRef="usd">-7143000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTEtMTUtMS0xLTI1NzA1_aed26c0d-4f6a-4e5c-b6e9-308958edf2fa"
      unitRef="usd">250031000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i5574a04d150841b8815fa7bc54a3c6c6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTItNy0xLTEtMjU3MDU_ec5e7d5d-541f-47ff-aa35-47f047daea4d"
      unitRef="usd">97239000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTItMTUtMS0xLTI1NzA1_3b9d4e19-355c-4907-aaaf-97db836488b8"
      unitRef="usd">97239000</us-gaap:NetIncomeLoss>
    <us-gaap:StockholdersEquity
      contextRef="i340df5dcac144e0ba53fb941a7497994_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTMtNy0xLTEtMjY1NjU_79c5f4e9-3edc-4bdc-bfe2-b4955347587e"
      unitRef="usd">-1190000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaf5df7146f864144bff13335e62a2aab_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTMtMTUtMS0xLTI2NTY1_4b91dcd8-b51a-430f-a0e7-456c2df8c851"
      unitRef="usd">-1190000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="i8c30f3054bc14c9295579b099154145d_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTMtMS0xLTEtMjU3MDU_45b8cc90-5f7a-4c94-9c24-3aa626174e05"
      unitRef="shares">264004</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i8c30f3054bc14c9295579b099154145d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTMtMy0xLTEtMjU3MDU_791f690b-16fa-4a9b-9527-b28468138d52"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i36f5ccb808ae4e368ea27b1618e017be_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTMtNS0xLTEtMjU3MDU_d9baddaf-98a5-49c5-94f6-8164b0a08884"
      unitRef="usd">-2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTMtMTUtMS0xLTI1NzA1_ce7d09b9-7a94-4b24-a9bd-052659c7e94a"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited
      contextRef="i52b949fa9755462faa84bbd691982145_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTQtOS0xLTEtMjU3MDU_16bd1631-8e4f-4cb0-9c94-d772f5f7a2b4"
      unitRef="shares">30223</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="i52b949fa9755462faa84bbd691982145_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTQtMTEtMS0xLTI1NzA1_cbfeb680-3cec-407a-a669-bcec6554e816"
      unitRef="usd">973000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTQtMTUtMS0xLTI1NzA1_de9e6a4a-c052-4f29-a94a-9265f16946c1"
      unitRef="usd">973000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i36f5ccb808ae4e368ea27b1618e017be_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTUtNS0xLTEtMjU3MDU_001eb4e0-e9b1-4309-a6f5-4ae41d25958c"
      unitRef="usd">9286000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTUtMTUtMS0xLTI1NzA1_d5832e14-100d-44e1-abaa-0ddbc22869d2"
      unitRef="usd">9286000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i8c30f3054bc14c9295579b099154145d_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTYtMS0xLTEtMjU3MDU_50de1462-099f-4eee-8f1f-96afcc66eefd"
      unitRef="shares">6371</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i36f5ccb808ae4e368ea27b1618e017be_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTYtNS0xLTEtMjU3MDU_e0fde865-b3c1-4b85-959a-39fccd5ebaed"
      unitRef="usd">333000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTYtMTUtMS0xLTI1NzA1_9039971e-b477-4512-b3c3-b0a125d3e063"
      unitRef="usd">333000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i52b949fa9755462faa84bbd691982145_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtOS0xLTEtMjY2MTE_001e2378-c274-4914-aa23-86c1d440fa69"
      unitRef="shares">633220</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i52b949fa9755462faa84bbd691982145_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtMTEtMS0xLTI2NjEx_4dc2e4d8-fd31-4938-a1e7-f7809e117ad2"
      unitRef="usd">33924000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtMTUtMS0xLTI2NjEx_86889a48-5bbe-45d9-b20c-aa2e448ceaef"
      unitRef="usd">33924000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i4d6b2f9ff49343639cbb8f898f12f3c3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTctMTMtMS0xLTI1NzA1_1a67d991-8b9d-44b5-91e5-4c771b2d18fa"
      unitRef="usd">-1620000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTctMTUtMS0xLTI1NzA1_834fa7b6-59cb-4cea-8746-875dc3d544c9"
      unitRef="usd">-1620000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="i678f30625941438099182ccf6f6918df_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtMS0xLTEtMjU3MDU_b6019040-cc61-4b42-a3be-df554c5c0b76"
      unitRef="shares">33141879</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i678f30625941438099182ccf6f6918df_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtMy0xLTEtMjU3MDU_5db57e4f-1647-4376-9e22-d9cdcb2c6f4a"
      unitRef="usd">331000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib1b06c54361145d69fdcd74114d8f7f7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtNS0xLTEtMjU3MDU_a0b7f0d2-1488-4374-bed5-ba9b44df572d"
      unitRef="usd">199847000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i41aa56e7cd64420cadb40ed88d2b58ee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtNy0xLTEtMjU3MDU_6a317b82-3753-4952-88ed-4d4b07f4e587"
      unitRef="usd">269420000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="ia2e226cc634148f689d6dfa0bf1f7a42_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtOS0xLTEtMjU3MDU_479cce10-fbf2-4c11-bbb7-7817ffecdf5d"
      unitRef="shares">3518607</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="ia2e226cc634148f689d6dfa0bf1f7a42_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtMTEtMS0xLTI1NzA1_08990e59-fa74-425a-b5f2-ee3ed530310c"
      unitRef="usd">141653000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity
      contextRef="ia05a5db95f3644889de6515535d1ac7b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtMTMtMS0xLTI1NzA1_3cbddca4-c77c-47a1-ba12-a1382d1fcb67"
      unitRef="usd">-8763000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTgtMTUtMS0xLTI1NzA1_a2e928b7-beba-4e78-9e73-58b523f9b0d7"
      unitRef="usd">319182000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i70cc5f72768f4348b3fbbeb63b8ae7a8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTktNy0xLTEtMjU3MDU_07d481a5-1819-4012-a3d5-a81c5e50a6be"
      unitRef="usd">118763000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMTktMTUtMS0xLTI1NzA1_d12b732a-da70-4d50-b5f6-3320ffe133c5"
      unitRef="usd">118763000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="if891bda01d8d46958cae58395a42b84f_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjEtMS0xLTEtMjU3MDU_37e51cd4-0cec-459c-b7aa-41abd2abe4a8"
      unitRef="shares">125550</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="if891bda01d8d46958cae58395a42b84f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjEtMy0xLTEtMjU3MDU_a5989303-a0ed-4cc3-8c91-9981806abc7f"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i9327e2f3b8f240b184ea72d5a1299a06_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjEtNS0xLTEtMjU3MDU_caab2630-1d69-4ea7-9315-3a789db53fcf"
      unitRef="usd">-2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjEtMTUtMS0xLTI1NzA1_a11e88f8-d110-414e-baa5-c70f1d199dfb"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited
      contextRef="id41882db61f742be933bbe421322b758_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjItOS0xLTEtMjU3MDU_365fba07-409f-462e-a238-1174383af9be"
      unitRef="shares">46651</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="id41882db61f742be933bbe421322b758_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjItMTEtMS0xLTI1NzA1_899a0d7b-1c1b-4f7c-a014-9c985eb00111"
      unitRef="usd">5586000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjItMTUtMS0xLTI1NzA1_85cbe3e2-6b46-411a-9ef8-667103453d43"
      unitRef="usd">5586000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9327e2f3b8f240b184ea72d5a1299a06_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjMtNS0xLTEtMjU3MDU_5b7ef129-8424-498e-9f26-dbf82ac4392d"
      unitRef="usd">11118000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjMtMTUtMS0xLTI1NzA1_fbc86e26-3cf4-471c-917d-6076a58b8ea8"
      unitRef="usd">11118000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="if891bda01d8d46958cae58395a42b84f_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjQtMS0xLTEtMjU3MDU_2a7afd3f-26e1-4fd8-a3fd-79b97daa4c92"
      unitRef="shares">4230</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i9327e2f3b8f240b184ea72d5a1299a06_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjQtNS0xLTEtMjU3MDU_5dd7f49f-4cea-46aa-a523-33cd26644e88"
      unitRef="usd">467000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjQtMTUtMS0xLTI1NzA1_41cfe71b-69ed-4462-94f8-632c3cb14e84"
      unitRef="usd">467000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjUtMC0xLTEtMzAzMzcvdGV4dHJlZ2lvbjoxYmFmZjBjMDQ5ZWY0Zjk4ODI4YTg2NDE5NjE4YTM1N18xNjQ5MjY3NDQxNzEz_95509f77-3295-49de-9140-693cea075feb"
      unitRef="usdPerShare">1.20</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="i70cc5f72768f4348b3fbbeb63b8ae7a8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjUtNy0xLTEtMzAzMzc_eaf57819-0098-49a2-8591-5e77571e23cf"
      unitRef="usd">35640000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjUtMTUtMS0xLTMwMzM3_bff75137-d9ab-48ff-be62-9c244e1cb3dc"
      unitRef="usd">35640000</us-gaap:DividendsCommonStockCash>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="ic6105648a88b4f40921aa57e3f33f9ec_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjYtMTMtMS0xLTI1NzA1_74bd21eb-1a9b-4b9d-b268-105b6bfb7610"
      unitRef="usd">8536000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjYtMTUtMS0xLTI1NzA1_f951483d-23f7-4bf1-8717-a5595cd7146b"
      unitRef="usd">8536000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="iaae7406c5aba453286cb31c7f012622f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctMS0xLTEtMjU3MDU_4af1e57d-c194-46d4-9103-8fd288806ff4"
      unitRef="shares">33271659</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="iaae7406c5aba453286cb31c7f012622f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctMy0xLTEtMjU3MDU_cf3887f5-dd27-4666-9e6d-c6ed13b26f47"
      unitRef="usd">333000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifefa39ebcbe74d6a932d90b1d649bf8c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctNS0xLTEtMjU3MDU_aff59385-8a23-4dd5-94f2-c3c4836da841"
      unitRef="usd">211430000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if8bc4a8498ec4a87a7a011a55b8a0330_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctNy0xLTEtMjU3MDU_1d61ea55-70db-4613-b1a2-ddd526153e05"
      unitRef="usd">352543000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i21fb5ff5a540406eb5e80df873d30528_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctOS0xLTEtMjU3MDU_2145cde5-fa49-4c02-8e21-9258319827e0"
      unitRef="shares">3565258</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="i21fb5ff5a540406eb5e80df873d30528_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctMTEtMS0xLTI1NzA1_dd5ce3f2-9e77-45ff-a908-272ce4c8ed38"
      unitRef="usd">147239000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity
      contextRef="i2ab0ba1bbae54fa7ab0ab595ed4c5a73_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctMTMtMS0xLTI1NzA1_9579b582-615d-4afb-a351-2e0e38ca9044"
      unitRef="usd">-227000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl83OS9mcmFnOjgxZDFlMDBhZDg4NzQ5MzM5NTQ2YzAxOTcxZjYxNTY1L3RhYmxlOmZkOTA1YWFlNjJlZTRlMDA5MmU4YTU0ZGJhZGIwZDIwL3RhYmxlcmFuZ2U6ZmQ5MDVhYWU2MmVlNGUwMDkyZThhNTRkYmFkYjBkMjBfMjctMTUtMS0xLTI1NzA1_53e311cc-9b0e-4c53-81db-2bc61e735bf2"
      unitRef="usd">416840000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMy0xLTEtMS0yNTcwNQ_e842f33d-20d3-41b6-96a4-0dbb16be542f"
      unitRef="usd">118763000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMy0zLTEtMS0yNTcwNQ_964ac547-2689-406a-aa71-fbc69c478382"
      unitRef="usd">97239000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMy01LTEtMS0yNTcwNQ_97366d75-55d5-40e0-a63f-b79d6d3a24f2"
      unitRef="usd">68159000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationAndAmortization
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNS0xLTEtMS0yNTcwNQ_52111c13-8069-4413-b53b-696347459a35"
      unitRef="usd">43562000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNS0zLTEtMS0yNTcwNQ_35b4fdde-632c-49d8-bd46-a066a1cb5040"
      unitRef="usd">41339000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNS01LTEtMS0yNTcwNQ_02db8b6a-19d7-45e7-8c63-c5dc4866e7c6"
      unitRef="usd">38862000</us-gaap:DepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNi0xLTEtMS0yNTcwNQ_3aac1bee-400f-4d5c-8759-e33b78155eda"
      unitRef="usd">22258000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNi0zLTEtMS0yNTcwNQ_2693b46d-5590-4da4-98ad-593c709b9397"
      unitRef="usd">18122000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNi01LTEtMS0yNTcwNQ_7e2b48e8-1b99-4dfb-a0b7-5997e642525d"
      unitRef="usd">15691000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNy0xLTEtMS0yNTcwNQ_c90db154-5932-430c-8058-2342e91e1277"
      unitRef="usd">37079000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNy0zLTEtMS0yNTcwNQ_ad92ab6b-60a2-4d73-9016-bc4455771195"
      unitRef="usd">28535000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNy01LTEtMS0yNTcwNQ_06ad41a9-a6b7-4db2-a599-996ed90e6d08"
      unitRef="usd">24510000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfOC0xLTEtMS0yNTcwNQ_87200865-3154-4cec-b7c0-c0b7120ee586"
      unitRef="usd">1354000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfOC0zLTEtMS0yNTcwNQ_17fefab2-be93-4d4f-b07e-7e656fc5ebf1"
      unitRef="usd">1332000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfOC01LTEtMS0yNTcwNQ_6d12943d-236b-46c7-a537-eebd4dc6baeb"
      unitRef="usd">1184000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfOS0xLTEtMS0yNTcwNQ_e5877cce-2ebc-4b9c-b178-a43a39a8e1c8"
      unitRef="usd">2227000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfOS0zLTEtMS0yNTcwNQ_104986fa-087f-4b4d-9588-220e6cb5de98"
      unitRef="usd">4444000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfOS01LTEtMS0yNTcwNQ_3b4465b5-3c6e-459c-b09c-c70ed8f07e9f"
      unitRef="usd">4312000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTAtMS0xLTEtMjU3MDU_a04380f7-eba3-4872-8162-34f26ad58cbb"
      unitRef="usd">1767000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTAtMy0xLTEtMjU3MDU_5056ce1c-98f9-4a7d-9256-94ca4ae02521"
      unitRef="usd">0</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTAtNS0xLTEtMjU3MDU_d55c8e43-d2be-46b5-9b97-828adc58c207"
      unitRef="usd">3725000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTEtMS0xLTEtMjU3MDU_23755261-0906-49e3-9fd6-8b6bbdd925d3"
      unitRef="usd">1840000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTEtMy0xLTEtMjU3MDU_a15d756c-16df-4c85-be2e-9b0dbfd275dc"
      unitRef="usd">786000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTEtNS0xLTEtMjU3MDU_e0151870-6b69-458a-aafb-ffa586c9c79a"
      unitRef="usd">140000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:ShareBasedCompensation
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTItMS0xLTEtMjU3MDU_d87a4470-9eff-419e-b771-cc376ad2edd5"
      unitRef="usd">13752000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTItMy0xLTEtMjU3MDU_ffb5c04d-2693-42de-8c47-07b0c44f6991"
      unitRef="usd">10826000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTItNS0xLTEtMjU3MDU_f879038c-fbe9-407e-a6b8-e80270237fd3"
      unitRef="usd">8727000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTMtMS0xLTEtMjU3MDU_b8908320-f66a-416a-8d0e-dbda2dfed9c1"
      unitRef="usd">-438000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTMtMy0xLTEtMjU3MDU_bd889bce-6478-4cd4-8655-478c613cb19d"
      unitRef="usd">-8475000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTMtNS0xLTEtMjU3MDU_a352da70-098a-4dff-9612-89977f6dfd61"
      unitRef="usd">5341000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <ibp:AmortizationOfTerminatedInterestRateSwap
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTQtMS0xLTEtMjU3MDU_dfe4aec7-c06e-4c8e-8f94-1af82823bf28"
      unitRef="usd">3223000</ibp:AmortizationOfTerminatedInterestRateSwap>
    <ibp:AmortizationOfTerminatedInterestRateSwap
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTQtMy0xLTEtMjU3MDU_8f963409-5cfb-496f-8f31-3c84f5af32d5"
      unitRef="usd">1326000</ibp:AmortizationOfTerminatedInterestRateSwap>
    <ibp:AmortizationOfTerminatedInterestRateSwap
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTQtNS0xLTEtMjU3MDU_993dd3cd-c9eb-4690-a252-a92a652a7988"
      unitRef="usd">0</ibp:AmortizationOfTerminatedInterestRateSwap>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTYtMS0xLTEtMjU3MDU_4f621e3b-3798-49e0-a2c8-dcbd91eedc5e"
      unitRef="usd">16775000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTYtMy0xLTEtMjU3MDU_218f1c9b-aec0-46a6-9693-ed8e302bd2d5"
      unitRef="usd">10489000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTYtNS0xLTEtMjU3MDU_10b2f0cc-b5fd-40f9-b5e3-ad57951eccbc"
      unitRef="usd">29582000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTctMS0xLTEtMjU3MDU_5f0ad501-8007-41d4-bcf6-80e617c88fd1"
      unitRef="usd">54003000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTctMy0xLTEtMjU3MDU_cefff165-b8e5-4609-8c00-968dfe0c7d6c"
      unitRef="usd">-187000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTctNS0xLTEtMjU3MDU_ebdf16ce-b8db-4f8a-9aae-2bc8a6f2bccc"
      unitRef="usd">10597000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTgtMS0xLTEtMjU3MDU_40f2909e-4b1f-4e69-939e-9a8b3e93b7d2"
      unitRef="usd">19885000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTgtMy0xLTEtMjU3MDU_15f40e2c-ccda-42d2-aaf8-546527ec1b75"
      unitRef="usd">870000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTgtNS0xLTEtMjU3MDU_d508ee74-4c72-4c64-997e-d4f1d24727ce"
      unitRef="usd">16959000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTktMS0xLTEtMjU3MDU_d4a4a46c-fb5a-454d-85b6-28620be552b4"
      unitRef="usd">26424000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTktMy0xLTEtMjU3MDU_4ce240ee-1b8c-4268-98b6-161014c357b7"
      unitRef="usd">-203000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMTktNS0xLTEtMjU3MDU_cc7c37fb-3600-48f1-a37e-d19704071086"
      unitRef="usd">947000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInIncomeTaxes
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjAtMS0xLTEtMjU3MDU_eec8df1e-cf68-4e07-9564-921d7498853b"
      unitRef="usd">-4403000</us-gaap:IncreaseDecreaseInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInIncomeTaxes
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjAtMy0xLTEtMjU3MDU_3b8d3461-fb6c-48f5-90b1-8559881264b6"
      unitRef="usd">4296000</us-gaap:IncreaseDecreaseInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInIncomeTaxes
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjAtNS0xLTEtMjU3MDU_181d155d-1f85-498d-95f2-1f629f891e12"
      unitRef="usd">-3944000</us-gaap:IncreaseDecreaseInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjEtMS0xLTEtMjU3MDU_85093278-36ef-4dbd-a1c1-a68a8eb1a393"
      unitRef="usd">-34751000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjEtMy0xLTEtMjU3MDU_88ebabc1-ebea-4f7f-bac9-1167c38a2ead"
      unitRef="usd">-6034000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjEtNS0xLTEtMjU3MDU_9f071d44-2cc1-478a-90f6-47c87182d79f"
      unitRef="usd">12831000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjItMS0xLTEtMjU3MDU_828be506-f69a-4eb2-aea7-4aa09c042822"
      unitRef="usd">138314000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjItMy0xLTEtMjU3MDU_d6505700-2dc8-4f9a-9941-bd7a49b0bf44"
      unitRef="usd">180789000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjItNS0xLTEtMjU3MDU_d8c7ff45-1dff-4fc2-b71b-ee49233db4a3"
      unitRef="usd">123067000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjQtMS0xLTEtMjU3MDU_5c3cae2d-92a7-4290-8d9b-80bed303550e"
      unitRef="usd">0</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjQtMy0xLTEtMjU3MDU_1fe598ac-1063-48fb-8d85-07559bb8e6b4"
      unitRef="usd">776000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjQtNS0xLTEtMjU3MDU_f820e444-c412-4cfc-b63c-72eae57a0509"
      unitRef="usd">52795000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjUtMS0xLTEtMjU3MDU_3ba16454-b300-4ef3-afdd-3098f2aa16b7"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjUtMy0xLTEtMjU3MDU_d7b50214-149a-4a8f-ab87-790f8f35cf78"
      unitRef="usd">38693000</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjUtNS0xLTEtMjU3MDU_85e3be5d-a555-404e-827b-d2dfdf06a87c"
      unitRef="usd">25061000</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjYtMS0xLTEtMjU3MDU_e5aae8d0-5417-44ce-99db-01f95c89498d"
      unitRef="usd">36979000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjYtMy0xLTEtMjU3MDU_536507ee-b20e-4e09-b9e7-c896a99accac"
      unitRef="usd">33587000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjYtNS0xLTEtMjU3MDU_018da08a-45b0-479e-9a20-5a7780c819d9"
      unitRef="usd">50167000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjctMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjozOWM2NmQyNmYyNTA0MDdmYThjMjU1MzIwZThlYjgzZl81Ng_11fd7d15-f320-4ba0-a17f-5f48dd294384"
      unitRef="usd">1707000</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjctMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjozOWM2NmQyNmYyNTA0MDdmYThjMjU1MzIwZThlYjgzZl82MA_3a4bf730-14fc-4267-9aab-9630ce3db35d"
      unitRef="usd">0</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjctMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjozOWM2NmQyNmYyNTA0MDdmYThjMjU1MzIwZThlYjgzZl82Nw_0d81a07d-7760-4945-9210-eb3a7c2af1a3"
      unitRef="usd">334000</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjctMS0xLTEtMjU3MDU_784a20c4-1d49-4e7e-b9a7-f3d562b68534"
      unitRef="usd">241308000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjctMy0xLTEtMjU3MDU_77e58959-0201-48c5-b414-8c2e844e514a"
      unitRef="usd">76446000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjctNS0xLTEtMjU3MDU_a5993f46-b50d-4de4-bf2c-22d6b59beee1"
      unitRef="usd">51706000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjgtMS0xLTEtMjU3MDU_f6e8e378-1f72-4b6f-9bf0-0045cb1f50a7"
      unitRef="usd">2694000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjgtMy0xLTEtMjU3MDU_cc01a67f-b838-47f7-b384-5f5069848854"
      unitRef="usd">1187000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjgtNS0xLTEtMjU3MDU_eafd0871-bcb0-484c-b989-d2787bcde77d"
      unitRef="usd">761000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjktMS0xLTEtMjU3MDU_ea4ff7ec-d448-46ab-a7bd-f2de56d1d591"
      unitRef="usd">2846000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjktMy0xLTEtMjU3MDU_585a82bb-461d-4fd7-af2c-7f0934d1a5fd"
      unitRef="usd">6865000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMjktNS0xLTEtMjU3MDU_2abff3b1-a6ed-4745-bfb7-6502d8dfe2c4"
      unitRef="usd">2887000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzAtMS0xLTEtMjU3MDU_647f04a5-8a56-4bcd-828f-f6e536bb94dc"
      unitRef="usd">-278439000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzAtMy0xLTEtMjU3MDU_3adba152-b52d-421e-be69-286c155cf75b"
      unitRef="usd">-77794000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzAtNS0xLTEtMjU3MDU_7f748c2a-9288-4bca-88d2-7b3b8f9f1a31"
      unitRef="usd">-131733000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzItMS0xLTEtMjU3MDU_419e6357-f3bd-4750-87b2-71aba9fdfa2c"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzItMy0xLTEtMjU3MDU_64d709aa-a1c8-4177-86b0-03132cfe5e59"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzItNS0xLTEtMjU3MDU_e70b4b39-ffa2-46ba-a0bb-2785ddc61c49"
      unitRef="usd">300000000</us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfMediumTermNotes
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzMtMS0xLTEtMjU3MDU_44c4a41b-980c-40ba-b48d-4caddd6d3691"
      unitRef="usd">500000000</us-gaap:ProceedsFromIssuanceOfMediumTermNotes>
    <us-gaap:ProceedsFromIssuanceOfMediumTermNotes
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzMtMy0xLTEtMjU3MDU_16258b22-3249-487e-b097-a2c90c4597bb"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfMediumTermNotes>
    <us-gaap:ProceedsFromIssuanceOfMediumTermNotes
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzMtNS0xLTEtMjU3MDU_299426f0-7a69-40c8-ac73-d1509b438a7a"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfMediumTermNotes>
    <us-gaap:RepaymentsOfMediumTermNotes
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzQtMS0xLTEtMjU3MDU_48eb4e48-38a1-41b2-8531-af9409b42200"
      unitRef="usd">200000000</us-gaap:RepaymentsOfMediumTermNotes>
    <us-gaap:RepaymentsOfMediumTermNotes
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzQtMy0xLTEtMjU3MDU_eea049b0-040a-43c8-9e6e-91c4a5c16ba9"
      unitRef="usd">0</us-gaap:RepaymentsOfMediumTermNotes>
    <us-gaap:RepaymentsOfMediumTermNotes
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzQtNS0xLTEtMjU3MDU_56905ee2-a449-4be6-8671-91d564632acd"
      unitRef="usd">195750000</us-gaap:RepaymentsOfMediumTermNotes>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzUtMS0xLTEtMjU3MDU_204ff1f6-6a0d-46c2-8e6d-8c7aac144168"
      unitRef="usd">27834000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzUtMy0xLTEtMjU3MDU_65224fe2-bc02-4d8c-8970-746a34719c06"
      unitRef="usd">21290000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzUtNS0xLTEtMjU3MDU_3cf766ed-eb3e-41eb-96ca-0f7019aea0a6"
      unitRef="usd">33090000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzYtMS0xLTEtMjU3MDU_e84d7d79-4444-409d-938b-01b990b1009d"
      unitRef="usd">7520000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzYtMy0xLTEtMjU3MDU_81501e73-da4e-474b-8760-a35b1b86f3b9"
      unitRef="usd">157000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzYtNS0xLTEtMjU3MDU_c609f69f-7295-4599-9afa-c94788cb375c"
      unitRef="usd">6691000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzctMS0xLTEtMjU3MDU_2b591142-15b5-4df2-b7c8-4264b2b3051c"
      unitRef="usd">26301000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzctMy0xLTEtMjU3MDU_86a80bef-5a23-4dba-8d8d-901f2ed31287"
      unitRef="usd">26685000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:RepaymentsOfOtherLongTermDebt
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzctNS0xLTEtMjU3MDU_4030776f-011a-4bd3-8b9f-c217b4668ad6"
      unitRef="usd">21316000</us-gaap:RepaymentsOfOtherLongTermDebt>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzgtMS0xLTEtMjU3MDU_e7a29489-807a-42a7-be07-4a93586ac2f3"
      unitRef="usd">2125000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzgtMy0xLTEtMjU3MDU_c00ebf24-4ee8-4844-ab60-e09b25d2de68"
      unitRef="usd">2632000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzgtNS0xLTEtMjU3MDU_339959f4-7ec4-44e9-ac74-77d9838a1b72"
      unitRef="usd">4157000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsOfMergerRelatedCostsFinancingActivities
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzktMS0xLTEtMjU3MDU_956d842a-91fa-4a5e-9de9-39c431d8535b"
      unitRef="usd">8918000</us-gaap:PaymentsOfMergerRelatedCostsFinancingActivities>
    <us-gaap:PaymentsOfMergerRelatedCostsFinancingActivities
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzktMy0xLTEtMjU3MDU_eb65e9bf-f91c-47d4-8e14-e11a60848f00"
      unitRef="usd">6283000</us-gaap:PaymentsOfMergerRelatedCostsFinancingActivities>
    <us-gaap:PaymentsOfMergerRelatedCostsFinancingActivities
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfMzktNS0xLTEtMjU3MDU_cd6e5415-ab3c-4c77-b867-3a0a6cf410eb"
      unitRef="usd">6732000</us-gaap:PaymentsOfMergerRelatedCostsFinancingActivities>
    <us-gaap:PaymentsOfDividends
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDEtMS0xLTEtMzA4MDQ_914fdab6-2ecd-45f5-895b-44937c5baf88"
      unitRef="usd">35294000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDEtMy0xLTEtMzA4MDQ_d4ce9f1c-36e6-4b16-852e-c6b300328652"
      unitRef="usd">0</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDEtNS0xLTEtMzA4MDQ_f7712500-bd85-46b1-b17b-c3be8bf3401a"
      unitRef="usd">0</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDAtMS0xLTEtMjU3MDU_15e7ebfc-8550-4097-b275-d6eb79981a6e"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDAtMy0xLTEtMjU3MDU_800bcd38-3219-4b8c-ab8f-0f179b5a62e5"
      unitRef="usd">33924000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDAtNS0xLTEtMjU3MDU_a27a765c-90df-48a6-9a6c-a32cb8029c47"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <ibp:SurrenderOfCommonStockAwardsByEmployees
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDEtMS0xLTEtMjU3MDU_e43cae96-6959-4940-ada7-5d71baf14b90"
      unitRef="usd">5586000</ibp:SurrenderOfCommonStockAwardsByEmployees>
    <ibp:SurrenderOfCommonStockAwardsByEmployees
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDEtMy0xLTEtMjU3MDU_12c07725-520a-460e-aacc-22676bf47b96"
      unitRef="usd">973000</ibp:SurrenderOfCommonStockAwardsByEmployees>
    <ibp:SurrenderOfCommonStockAwardsByEmployees
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDEtNS0xLTEtMjU3MDU_4798e751-6b14-4e97-b107-8225ff87972a"
      unitRef="usd">2331000</ibp:SurrenderOfCommonStockAwardsByEmployees>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDItMS0xLTEtMjU3MDU_634411cc-bda2-42c2-a137-1b753db6fc29"
      unitRef="usd">242090000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDItMy0xLTEtMjU3MDU_f7289ab3-2c1e-4ca5-80cd-399e8c81652f"
      unitRef="usd">-49364000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDItNS0xLTEtMjU3MDU_d1c504c4-4e93-4ffe-b40c-ac039cd29f70"
      unitRef="usd">96113000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDMtMS0xLTEtMjU3MDU_6a0aed1b-f90d-4d01-90f8-7b4855873914"
      unitRef="usd">101965000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDMtMy0xLTEtMjU3MDU_13e22771-2d54-446b-802d-1a3af353f532"
      unitRef="usd">53631000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDMtNS0xLTEtMjU3MDU_2a624729-d14e-440e-9338-d9c3880a18dc"
      unitRef="usd">87447000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDQtMS0xLTEtMjU3MDU_067eaed2-fe27-4009-a28c-f4b95854254b"
      unitRef="usd">231520000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDQtMy0xLTEtMjU3MDU_9d8426aa-2c7b-4263-9823-a520d9061194"
      unitRef="usd">177889000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia2263e5a5d344f14813fb7edf2fa2af9_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDQtNS0xLTEtMjU3MDU_14d8717b-22f3-4c76-ba6d-251779203da3"
      unitRef="usd">90442000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDUtMS0xLTEtMjU3MDU_c6243033-0bc5-4d2e-8bd7-0ceabce2050c"
      unitRef="usd">333485000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDUtMy0xLTEtMjU3MDU_e0065918-c28c-495b-bff7-bdc16704166e"
      unitRef="usd">231520000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDUtNS0xLTEtMjU3MDU_0f504da0-caba-41d3-b3a6-b6794c4548aa"
      unitRef="usd">177889000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDgtMS0xLTEtMjU3MDU_a99fac9c-0c42-4869-ad56-e01b55f7ddf8"
      unitRef="usd">25976000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDgtMy0xLTEtMjU3MDU_b7f3ff20-3d7f-4e1f-9d6c-72ea93778d69"
      unitRef="usd">26324000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDgtNS0xLTEtMjU3MDU_110e3190-3c67-4307-989b-989575a79b12"
      unitRef="usd">20943000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDktMS0xLTEtMjU3MDU_2a649b5d-6c75-4c5c-a46e-84c8cbe0a075"
      unitRef="usd">39241000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDktMy0xLTEtMjU3MDU_77c1ab99-f41e-4a80-8d3a-d0458918d825"
      unitRef="usd">37072000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNDktNS0xLTEtMjU3MDU_098a3307-ef4a-470d-89ce-59b41885e968"
      unitRef="usd">22633000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTEtMS0xLTEtMjU3MDU_bdc47744-2d07-4963-ac19-74e86b9baa3d"
      unitRef="usd">38084000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTEtMy0xLTEtMjU3MDU_64b79da5-202b-4fe1-822d-8f0d9d90c382"
      unitRef="usd">26001000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTEtNS0xLTEtMjU3MDU_ccc1fd32-941e-4e54-b6eb-c0bc8fdcedaa"
      unitRef="usd">18907000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <ibp:NoncashActivitiesReleaseOfIndemnificationOfAcquisitionRelatedDebt
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTQtMS0xLTEtMzA4MzY_5f8dc5c2-6224-4a2f-9dd2-615569e58a32"
      unitRef="usd">2036000</ibp:NoncashActivitiesReleaseOfIndemnificationOfAcquisitionRelatedDebt>
    <ibp:NoncashActivitiesReleaseOfIndemnificationOfAcquisitionRelatedDebt
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTQtMy0xLTEtMzA4MzY_4bca199a-0a4d-4c92-86a3-2820ad135ba0"
      unitRef="usd">0</ibp:NoncashActivitiesReleaseOfIndemnificationOfAcquisitionRelatedDebt>
    <ibp:NoncashActivitiesReleaseOfIndemnificationOfAcquisitionRelatedDebt
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTQtNS0xLTEtMzA4MzY_fe40da3e-67c7-4d54-bdb6-4a920990a9fd"
      unitRef="usd">0</ibp:NoncashActivitiesReleaseOfIndemnificationOfAcquisitionRelatedDebt>
    <ibp:TerminationOfOperatingLeaseObligationsAndRightOfUseAssets
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTItMS0xLTEtMjU3MDU_abcf2db7-f47f-4636-9628-d8476aff15cb"
      unitRef="usd">0</ibp:TerminationOfOperatingLeaseObligationsAndRightOfUseAssets>
    <ibp:TerminationOfOperatingLeaseObligationsAndRightOfUseAssets
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTItMy0xLTEtMjU3MDU_a91f0f71-ca91-4cae-9b7d-faf86c68920b"
      unitRef="usd">0</ibp:TerminationOfOperatingLeaseObligationsAndRightOfUseAssets>
    <ibp:TerminationOfOperatingLeaseObligationsAndRightOfUseAssets
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTItNS0xLTEtMjU3MDU_60d28561-8ffc-4c1e-b489-693ed6aa3bb5"
      unitRef="usd">-2946000</ibp:TerminationOfOperatingLeaseObligationsAndRightOfUseAssets>
    <ibp:FinanceLeaseObligationsIncurred
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTMtMS0xLTEtMjU3MDU_7b7aa308-7d42-4dd5-b95e-3a4e312b541f"
      unitRef="usd">2735000</ibp:FinanceLeaseObligationsIncurred>
    <ibp:FinanceLeaseObligationsIncurred
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTMtMy0xLTEtMjU3MDU_382ffa48-2929-43d4-9678-38b05ebf0fc4"
      unitRef="usd">1000000</ibp:FinanceLeaseObligationsIncurred>
    <ibp:FinanceLeaseObligationsIncurred
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTMtNS0xLTEtMjU3MDU_91cb695c-cac3-4ab0-8e2a-3a7ebef78d2e"
      unitRef="usd">2809000</ibp:FinanceLeaseObligationsIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTQtMS0xLTEtMjU3MDU_285d9ec3-2ddc-4297-b1e5-6c8bbbecc323"
      unitRef="usd">29169000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTQtMy0xLTEtMjU3MDU_35ac15f6-d6e0-4f78-90b2-fe9e076d2084"
      unitRef="usd">14086000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTQtNS0xLTEtMjU3MDU_56d225e7-93cb-494f-bb36-fb35af240d38"
      unitRef="usd">7543000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTUtMS0xLTEtMjU3MDU_19b18a19-35df-4583-8071-717d1ad3e617"
      unitRef="usd">441000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTUtMy0xLTEtMjU3MDU_45de6884-bbd9-4c48-9523-0609f8de2f61"
      unitRef="usd">1013000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84Mi9mcmFnOjcwZTZiZGYyZWJiMzQ0YTdhNDVjYzJkMDU5Y2FlMDllL3RhYmxlOjdiODE5NzE2YTU4MDRkZDBiY2E4Njc3ZWMxOTAzN2IzL3RhYmxlcmFuZ2U6N2I4MTk3MTZhNTgwNGRkMGJjYTg2NzdlYzE5MDM3YjNfNTUtNS0xLTEtMjU3MDU_866cffbe-7691-4339-8bb9-3ba67e4486e1"
      unitRef="usd">1903000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84OC9mcmFnOjQzYzM3ZGFkM2Q3YjQ0NDQ5Y2ZiMTk0OWIxMzY3ODlhL3RleHRyZWdpb246NDNjMzdkYWQzZDdiNDQ0NDljZmIxOTQ5YjEzNjc4OWFfMTgwNA_89cbaa1d-1fdc-435f-8f1b-4337f1399931">ORGANIZATION&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Installed Building Products (&#x201c;IBP&#x201d;), a Delaware corporation formed on October 28, 2011, and its wholly-owned subsidiaries (collectively referred to as the &#x201c;Company,&#x201d; and &#x201c;we,&#x201d; &#x201c;us&#x201d; and &#x201c;our&#x201d;) primarily install insulation, waterproofing, fire-stopping, fireproofing, garage doors, rain gutters, window blinds, shower doors, closet shelving and mirrors and other products for residential and commercial builders located in the continental United States. The Company operates in over 210 locations and its corporate office is located in Columbus, Ohio.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one operating segment and a single reportable segment. The vast majority of our sales are derived from the service-based installation of various products in the residential new construction, repair and remodel and commercial construction end markets from our national network of branch locations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Each of our branches has the capacity to serve all of our end markets. See Note 3, Revenue Recognition, for information on our revenues by product and end market.&lt;/span&gt;&lt;/div&gt;The COVID-19 pandemic has caused significant volatility, uncertainty and economic disruption. Many public health organizations and international, federal, state and local governments implemented measures to combat the spread of COVID-19 at various times since the beginning of the pandemic with some of these restrictions still in place as of the date of filing of this Annual Report on Form 10-K ("Form 10-K"). Some of these measures included quarantines, vaccine and/or masking requirements, &#x201c;stay-at-home&#x201d; orders and social distancing ordinances and restricting or prohibiting outright some or all forms of commercial and business activity. We do not believe the various orders and restrictions significantly impacted our business during the year ended December&#160;31, 2021. However, COVID-19 has caused disruptions in the building products supply chain, impacting our ability to purchase certain materials through our typical channels.</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <ibp:NumberOfLocationsInOperation
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84OC9mcmFnOjQzYzM3ZGFkM2Q3YjQ0NDQ5Y2ZiMTk0OWIxMzY3ODlhL3RleHRyZWdpb246NDNjMzdkYWQzZDdiNDQ0NDljZmIxOTQ5YjEzNjc4OWFfNTA4_2cec21a5-4501-4262-a515-f3853fd13aa0"
      unitRef="location">210</ibp:NumberOfLocationsInOperation>
    <us-gaap:NumberOfReportableSegments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84OC9mcmFnOjQzYzM3ZGFkM2Q3YjQ0NDQ5Y2ZiMTk0OWIxMzY3ODlhL3RleHRyZWdpb246NDNjMzdkYWQzZDdiNDQ0NDljZmIxOTQ5YjEzNjc4OWFfNTg1_b4dff2bf-5d88-47ff-b912-1b8c6bcdff4a"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl84OC9mcmFnOjQzYzM3ZGFkM2Q3YjQ0NDQ5Y2ZiMTk0OWIxMzY3ODlhL3RleHRyZWdpb246NDNjMzdkYWQzZDdiNDQ0NDljZmIxOTQ5YjEzNjc4OWFfNTg1_bd527a38-a6ea-4a4f-a459-7c772a61af45"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NzQ_efa97874-702a-4e8a-9bc5-a4f991247675">SIGNIFICANT ACCOUNTING POLICIES&lt;div style="margin-top:7pt"&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;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We prepare our consolidated financial statements in accordance with accounting principles generally accepted in the United States of America (&#x201c;U.S. GAAP&#x201d;). The accompanying consolidated financial statements include all of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates, judgements and assumptions that affect the reported amounts in the consolidated financial statements and accompanying notes. Management believes the accounting estimates are appropriate and reasonably determined; however, due to the inherent uncertainties in making these estimates, actual amounts could differ from such estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We consider all highly-liquid investments purchased with original term to maturity of three months or less to be cash equivalents. Substantially all cash is held in banks providing FDIC coverage of $0.25 million per depositor.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Revenue and Cost Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is measured according to Accounting Standards Codification ("ASC") 606, &#x201c;Revenue from Contracts with Customers.&#x201d; Our revenues are derived primarily through contracts with customers whereby we install insulation and other complementary building products and are recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services. We account for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance and collectability of consideration is probable. An insignificant portion of our sales, primarily retail and distribution sales, is accounted for on a point-in-time basis when the sale occurs and the risk of loss transfers to the customer, adjusted accordingly for any return provisions and net of any sales taxes. We do offer assurance-type warranties on certain of our installed products and services that do not represent a separate performance obligation and, as such, do not impact the timing or extent of revenue recognition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For contracts that are not complete at the reporting date, we recognize revenue over time utilizing a cost-to-cost input method as we believe this represents the best measure of when goods and services are transferred to the customer. When this method is used, we estimate the costs to complete individual contracts and record as revenue that portion of the total contract price that is considered complete based on the relationship of costs incurred to date to total anticipated costs. Under the cost-to-cost method, the use of estimated costs to complete each contract is a significant variable in the process of determining recognized revenue, requires judgment and can change throughout the duration of a contract due to contract modifications and other factors impacting job completion. The costs of earned revenue include all direct material and labor costs and those indirect costs related to contract performance, such as indirect labor, supplies, tools and repairs. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our long-term contracts can be subject to modification to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new, or changes the existing, enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing contract due to the significant integration service provided in the context of the contract and are accounted for as if they were part of that existing contract. The effect of a contract modification on the transaction price and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Payment terms typically do not exceed 30 days for short-term contracts and typically do not exceed 60 days for long-term contracts with customers. All contracts are billed either contractually or as work is performed. Billing on our long-term contracts occurs primarily on a monthly basis throughout the contract period whereby we submit invoices for customer payment based on actual or estimated costs incurred during the billing period. On certain of our long-term contracts the customer may withhold payment on an invoice equal to a percentage of the invoice amount, which will be subsequently paid after satisfactory completion of each installation project. This amount is referred to as retainage and is common practice in the construction industry, as it allows for customers to ensure the quality of the service performed prior to full payment. Retainage receivables are classified as current or long-term assets based on the expected time to project completion. See "Accounts Receivable" below for further discussion of our retainage receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 expense sales commissions and other incremental costs of obtaining a contract when incurred because the amortization period is usually one year or less. Sales commissions are recorded within selling expenses on the Consolidated Statements of Operations and Comprehensive Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Derivative Instruments and Hedging Activities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record all derivatives on the balance sheet at fair value. The accounting for changes in the fair value of derivatives depends on the intended use of the derivative, whether we have elected to designate a derivative in a hedging relationship and apply hedge accounting and whether the hedging relationship has satisfied the criteria necessary to apply hedge accounting. Derivatives designated and qualifying as a hedge of the exposure to variability in expected future cash flows, or other types of forecasted transactions, are considered cash flow hedges. Hedge accounting generally provides for the matching of the timing of gain or loss recognition on the hedging instrument with the recognition of the earnings effect of the hedged forecasted transactions in a cash flow hedge. We may enter into derivative contracts that are intended to economically hedge certain of our risks, even though hedge accounting does not apply or we elect not to apply hedge accounting. See Note 11, Derivatives and Hedging Activities, for additional information on our accounting policy for derivative instruments and hedging activities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The purchase price for business combinations is allocated to the estimated fair values of acquired tangible and intangible assets, including goodwill and assumed liabilities, where applicable. Additionally, we recognize customer relationships, trademarks and trade names, backlog and non-competition agreements as identifiable intangible assets. These assets are recorded at fair value as of the transaction date. The fair value of these intangibles is determined using either the income approach or the market approach using current industry information which involves significant unobservable inputs (Level 3 inputs). These inputs include projected sales, margin and tax rate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At times, the total purchase price for a business combination could be less than the estimated fair values of acquired tangible and intangible assets. In these cases, we record a gain on bargain purchase within other expenses in the Consolidated Statements of Operations and Comprehensive Income rather than goodwill in accordance with U.S. GAAP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for trade receivables based on amounts billed to customers. Past due receivables are determined based on contractual terms. We do not accrue interest on any of our trade receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Retainage receivables represent the amount retained by our customers to ensure the quality of the installation and is received after satisfactory completion of each installation project. Management regularly reviews aging of retainage receivables and changes in payment trends and records an allowance when collection of amounts due are considered at risk. Amounts retained by project owners under construction contracts and included in accounts receivable were $40.5 million and $41.7 million as of December&#160;31, 2021 and 2020, respectively. In addition, as of December&#160;31, 2021, $0.5 million of retainage receivables were recorded in other non-current assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Credit losses are measured according to ASC 326, &#x201c;Financial Instruments &#x2013; Credit Losses: Measurement of Credit Losses on Financial Instruments.&#x201d; We consider forward-looking information to estimate expected credit losses for financial instruments, including trade receivables, retainage receivables and contract assets (unbilled receivables). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our expected loss allowance methodology for accounts receivable is developed using historical losses, current economic conditions and future market forecasts. We also perform ongoing evaluations of our existing and potential customer&#x2019;s creditworthiness. To date, the COVID-19 pandemic has not yet had a material impact on the collectability of our existing trade receivables. See Note 4, Credit Losses, for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Concentration of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Credit risk is our risk of financial loss from the non-performance of a contractual obligation on the part of our counterparty. Such risk arises principally from our receivables from customers and cash and bank balances. Substantially all of our trade accounts receivable are from entities engaged in residential and commercial construction. We perform periodic credit evaluations of our customers&#x2019; financial condition. The general credit risk of our counterparties is not considered to be significant. In addition, no individual customer made up more than&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; 3% of accounts receivable or 5% of net revenue&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 years ended December&#160;31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&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 of insulation, waterproofing materials, fireproofing and fire-stopping materials, garage doors, rain gutters, window blinds, shower doors, mirrors, closet shelving and other products. We value inventory at each balance sheet date to ensure that it is carried at the lower of cost or net realizable value with cost determined using the first-in, first-out (&#x201c;FIFO&#x201d;) method. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable cost of completion, disposal and transportation. As of December&#160;31, 2021 and 2020, substantially all inventory was finished goods. Inventory provisions are recorded to reduce inventory to the lower of cost or net realizable value for obsolete or slow moving inventory based on assumptions about future demand and marketability of products, the impact of new product introductions, inventory levels and turns, product spoilage, and specific identification of items such as product discontinuance, engineering/material changes, or regulatory-related changes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&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 stated at cost, less accumulated depreciation. We provide for depreciation and amortization of property and equipment using the straight-line method over the expected useful lives of the assets. Expected useful lives of property and equipment vary but generally are the shorter of lease life or five years for vehicles and leasehold improvements, &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTI3MDE_b3fa4e1c-1fd3-481d-8732-96517a5de827"&gt;three&lt;/span&gt; to five years for furniture, fixtures and equipment and 30 years for buildings.&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;Major renewals and improvements are capitalized. Maintenance, repairs and minor renewals are expensed as incurred. When assets are retired or otherwise disposed of, the related cost and accumulated depreciation are removed from the accounts and any resulting gain or loss is recorded.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill results from business combinations and represents the excess of the purchase price over the fair value of acquired tangible assets and liabilities and identifiable intangible assets. Annually, on October 1, or if conditions indicate an earlier review is necessary, we perform a one-step quantitative test to determine if it is more likely than not that the fair value of the reporting unit is less than its carrying amount. The estimate of the reporting unit&#x2019;s fair value is determined by weighting a discounted cash flow model and a market-related model using current industry information that involve significant unobservable inputs (Level 3 inputs). In determining the estimated future cash flow, we consider and apply certain estimates and judgments, including current and projected future levels of income based on management&#x2019;s plans, business trends, prospects, market and economic conditions and market-participant considerations. An impairment charge is recognized for the amount by which the carrying value exceeds the reporting unit's fair value, not to exceed the total amount of goodwill allocated to the reporting unit. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Impairment of Other Intangible and Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other intangible assets consist of customer relationships, backlog, non-competition agreements and business trademarks and trade names. Amortization of finite lived intangible assets is recorded to reflect the pattern of economic benefits based on projected revenues over their respective estimated useful lives (customer relationships &#x2013; &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ4NjI_e7797fc1-0de6-4692-a722-be69a911a17c"&gt;eight&lt;/span&gt; to 15 years, backlog &#x2013; 18 to 36 months, non-competition agreements &#x2013; &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5MDE_0047d001-0aec-4fc7-8d49-beabf3e8fa56"&gt;one&lt;/span&gt; to five years and business trademarks and trade names &#x2013; &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5NTI_d1586227-4741-4395-bfb8-585d126efc27"&gt;two&lt;/span&gt; to 15 years). We do not have any indefinite-lived intangible assets other than goodwill.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We review long-lived assets and intangible assets whenever events or changes in circumstances indicate that the carrying value of an asset may not be recoverable. An impairment loss is recognized when estimated future cash flows expected to result from the use of an asset and its eventual disposition are less than its carrying amount. When impairment is identified, the carrying amount of the asset is reduced to its estimated fair value. Assets to be disposed of are recorded at the lower of net book value or fair net realizable value less cost to sell at the date management commits to a plan of disposal. There was no impairment loss for the years ended December&#160;31, 2021, 2020, and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Other Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our workers&#x2019; compensation insurance program, for a significant portion of our business, is considered a high deductible program whereby we are responsible for the cost of claims under approximately $0.8 million. Our general liability insurance program is considered a high retention program whereby we are responsible for the cost of claims up to approximately $5.0 million, subject to an aggregate cap of $10.0 million. Our vehicle liability insurance program is considered a high deductible program whereby we are responsible for the cost of claims under approximately $1.0 million. In each case, if we do not pay these claims, our insurance carriers are required to make these payments to the claimants on our behalf. The liabilities represent our best estimate of our costs, using generally accepted actuarial reserving methods, of the ultimate obligations for reported claims plus those incurred but not reported for all claims incurred through December&#160;31, 2021 and 2020. We establish case reserves for reported claims using case-basis evaluation of the underlying claims data and we update as information becomes known. We regularly monitor the potential for changes in estimates, evaluate our insurance accruals and adjust our recorded provisions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assumptions underlying the ultimate costs of existing claim losses are subject to a high degree of unpredictability, which can affect the liability recorded for such claims. For example, variability in inflation rates of health care costs inherent in workers&#x2019; compensation claims can affect the ultimate costs. Similarly, changes in legal trends and interpretations, as well as a change in the nature and method of how claims are settled, can affect ultimate costs. Our estimates of liabilities incurred do not anticipate significant changes in historical trends for these variables and any changes could have a considerable effect on future claim costs and currently recorded liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We carry insurance for a number of risks, including, but not limited to, workers&#x2019; compensation, general liability, vehicle liability, property and our obligation for employee-related health care benefits. Liabilities relating to claims associated with these risks are estimated by considering historical claims experience, including frequency, severity, demographic factors and other actuarial assumptions. In estimating our liability for such claims, we periodically analyze our historical trends, including loss development, and apply appropriate loss development factors to the incurred costs associated with the claims with the assistance of external actuarial consultants. While we do not expect the amounts ultimately paid to differ significantly from our estimates, our reserves and corresponding expenses could be affected if future claim experience differs significantly from historical trends and actuarial assumptions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Advertising Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Advertising costs are generally expensed as incurred. Advertising expense was approximately $4.6 million for the year ended December&#160;31, 2021, and $3.9 million for both the years ended December&#160;31, 2020 and 2019, respectively, and is included in selling expense on the Consolidated Statements of Operations and Comprehensive Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Deferred Financing Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred financing costs and debt issuance costs combined, totaling $11.4 million and $7.0 million, net of accumulated amortization as of December&#160;31, 2021 and 2020, respectively, are amortized over the term of the related debt on a straight-line basis which approximates the effective interest method. The deferred financing costs are included in other non-current assets while the debt issuance costs are included in long-term debt on the Consolidated Balance Sheets as of December&#160;31, 2021 and 2020, respectively. The related amortization expense of these costs combined was $1.4 million, $1.3 million and $1.2 million and is included in interest expense, net on the Consolidated Statements of Operations and Comprehensive Income for the years ended December&#160;31, 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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We wrote off $0.2 million and $3.3 million in previously capitalized loan costs during the years ended December&#160;31, 2021 and 2019, respectively. In addition, we expensed loan costs of approximately $1.6 million and $0.4 million for the years ended December&#160;31, 2021 and 2019, respectively, associated with our credit facilities because they did not meet the requirements for capitalization. We had no such write offs or expenses during the year ended December&#160;31, 2020. These amounts are included in interest expense, net on the Consolidated Statements of Operations and Comprehensive Income. We also had $7.5 million in new costs associated with the debt-related financing transactions incurred during the year ended December&#160;31, 2021. The deferred financing costs are included in other non-current assets while the debt issuance costs are included in long-term debt on the Consolidated Balance Sheets. These costs are amortized over the term of the related debt on a straight-line basis which approximates the effective interest method.&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;For additional information on our debt instruments, see Note 8, Long-Term Debt.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leases are measure according to ASC 842, &#x201c;Leases,&#x201d; which requires substantially all leases, with the exception of leases with a term of one year or less, to be recorded as a lease liability measured as the present value of the future lease payments with a corresponding right-of-use asset. ASC 842 also requires disclosures designed to give financial statement users information on the amount, timing and uncertainty of cash flows. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease at inception. Most of our operating leases do not provide an implicit rate so we use our incremental borrowing rate based on the information available at the commencement date to determine the present value of future payments. Leases with an initial term of 12 months or less are not recorded on the balance sheet as we recognize lease expense for these leases on a straight-line basis over the lease term. We elect to not separate lease components from non-lease components for all fixed payments, and we exclude variable lease payments in the measurement of right-of-use assets and lease obligations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Most lease agreements include one or more renewal options, all of which are at our sole discretion. Generally, future renewal options that have not been executed as of the balance sheet date are excluded from right-of-use assets and related lease liabilities. Certain leases also include options to purchase the leased property. The depreciable life of assets and leasehold improvements are limited by the expected lease term, unless there is a transfer of title or purchase option reasonably certain of exercise. Some of our vehicle lease agreements include provisions for residual value guarantees and any expected payment is included in our lease liability. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Share-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our share-based compensation program is designed to attract and retain employees while also aligning employees&#x2019; interests with the interests of our stockholders. Restricted stock awards are periodically granted to certain employees, officers and non-employee members of our board of directors under the stockholder-approved 2014 Omnibus Incentive Plan.&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;Certain of our stock awards are deemed to be equity-based with a service condition and do not contain a market or performance condition with the exception of performance-based awards granted to certain officers and performance-based stock units. Fair value of the non-performance-based awards to employees and officers is measured at the grant date and amortized to expense &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;over the vesting period of the awards using the straight-line attribution method for all service-based awards with a graded vesting feature. This fair value is reduced by assumed forfeitures and adjusted for actual forfeitures until vesting. We also issue performance-based stock awards to certain officers under our 2014 Omnibus Incentive Plan. The performance-based compensation expense is recorded over the requisite service period using the graded-vesting method for the entire award. Performance-based stock awards are accounted for at fair value at date of grant. We also periodically grant performance-based stock units to certain employees under the stockholder-approved 2014 Omnibus Incentive Plan. These units convert to shares upon meeting time- and performance-based requirements.&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;Compensation expense for performance-based stock units is recorded based on an assessment each reporting period of the probability that certain performance goals will be met during the contingent vesting period. If performance goals are not probable to occur, no compensation expense will be recognized. If performance goals that were previously deemed probable are not or are not expected to be met, the previously recognized compensation cost related to such performance goals will be reversed. Employees and officers are subject to tax at the vesting date based on the market price of the shares on that date, or on the grant date if an election is made.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for income taxes using the asset and liability method. Under this method, the amount of taxes currently payable or refundable are accrued and deferred tax assets and liabilities are recognized for the estimated future tax consequences of temporary differences that currently exist between the tax basis and financial reporting basis of our assets and liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Valuation allowances are established against deferred tax assets when it is more likely than not that the realization of those deferred tax assets will not occur. In evaluating our ability to recover our deferred tax assets within the jurisdiction from which they arise, we consider all available positive and negative evidence, including scheduled reversals of deferred tax liabilities, the ability to produce future taxable income, prudent and feasible tax planning strategies and recent financial operations. In projecting future taxable income, we factor in historical results and changes in accounting policies and incorporate assumptions, including the amount of future federal and state pretax operating income, the reversal of temporary differences and the implementation of feasible and prudent tax planning strategies. These assumptions require significant judgment about the forecasts of future taxable income and are consistent with the plans and estimates we use to manage the underlying businesses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse. The effect on deferred taxes from a change in tax rate is recognized through operations in the period that includes the enactment date of the change. Changes in tax laws and rates could also affect recorded deferred tax assets and liabilities in the future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A tax benefit from an uncertain tax position may be recognized when it is more likely than not that the position will be sustained upon examination, including resolutions of any related appeals or litigation processes, based on the technical merits. Income tax positions must meet a more likely than not recognition threshold to be recognized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgment changes as a result of the evaluation of new information not previously available. Liabilities related to uncertain tax positions are recorded in other long-term liabilities on the Consolidated Balance Sheets. Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities. These differences will be reflected as increases or decreases to income tax expense and the effective tax rate in the period in which the new information becomes available. Interest and penalties related to unrecognized tax benefits are recognized within income tax expense in the Consolidated Statements of Operations and Comprehensive Income. Accrued interest and penalties are recognized in other current liabilities on the Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 income tax expense, deferred tax assets and liabilities and reserves for unrecognized tax benefits reflect management&#x2019;s best assessment of estimated future taxes to be paid. We are subject to income taxes in the United States, which includes numerous state and local jurisdictions. Significant judgments and estimates are required in determining the income tax expense, deferred tax assets and liabilities and the reserve for unrecognized tax benefits.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Estimated Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 10, Fair Value Measurements, for related accounting policies.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Recently Adopted Accounting Pronouncements&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-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&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:61.914%"/&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:400;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective&#160;Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Adoption&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ASU 2021-01, Reference Rate Reform (Topic 848): Scope&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective upon issuance &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;This pronouncement clarifies the scope and application of ASU 2020-04,  "Reference Rate Reform: Facilitation of the Effects of Reference Rate Reform on Financial  Reporting (Topic 848)." We continue to evaluate the impact of Topic 848 and may apply other elections as applicable as additional changes in the market occur.&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ASU 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 1, 2021&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;This pronouncement simplifies the accounting for income taxes by removing certain exceptions to the general principles of Topic 740 and improves the consistent application of GAAP by clarifying and amending existing guidance. The adoption of this standard did not impact our financial statements or have a material effect on our disclosures.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are currently evaluating the impact of certain ASUs on our Consolidated Financial Statements or Notes to Consolidated Financial Statements, which are described below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.350%"/&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:23.350%"/&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:23.350%"/&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:23.354%"/&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:400;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effect&#160;on&#160;the&#160;financial&#160;statements&#160;or&lt;br/&gt;other significant matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;ASU 2021-08, Business Combinations (Topic 805): Accounting for contract assets and contract liabilities from contracts with customers &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;This pronouncement amends Topic 805 to require an acquirer to account for revenue contracts in a business combination in accordance with Topic 606 as if the acquirer had originated the contracts. &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;Annual periods beginning after December 15, 2022, including interim periods therein. Early adoption is permitted.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;We are currently assessing the impact of the adoption on our consolidated financial statements.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NTU_19558f5b-eb2f-480d-8d7e-6a8a257548f1">We prepare our consolidated financial statements in accordance with accounting principles generally accepted in the United States of America (&#x201c;U.S. GAAP&#x201d;).</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4Nzk_bd3e5409-d20f-48a3-9e48-7624d5514bda">The accompanying consolidated financial statements include all of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated.</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NjI_13dc917c-e7dd-4fa7-875d-23a7fb5e4dbe">Preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates, judgements and assumptions that affect the reported amounts in the consolidated financial statements and accompanying notes. Management believes the accounting estimates are appropriate and reasonably determined; however, due to the inherent uncertainties in making these estimates, actual amounts could differ from such estimates.</us-gaap:UseOfEstimates>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NTY_1da263ba-617d-433f-905e-62c04c167ba5">We consider all highly-liquid investments purchased with original term to maturity of three months or less to be cash equivalents.</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:CashFDICInsuredAmount
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTg0MA_9c624f8c-0dd4-4d81-a0c2-488b323e4ca6"
      unitRef="usd">250000</us-gaap:CashFDICInsuredAmount>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NjM_d2bb6f95-1add-4455-8e32-4ad41d2e7199">Revenue is measured according to Accounting Standards Codification ("ASC") 606, &#x201c;Revenue from Contracts with Customers.&#x201d; Our revenues are derived primarily through contracts with customers whereby we install insulation and other complementary building products and are recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services. We account for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance and collectability of consideration is probable. An insignificant portion of our sales, primarily retail and distribution sales, is accounted for on a point-in-time basis when the sale occurs and the risk of loss transfers to the customer, adjusted accordingly for any return provisions and net of any sales taxes. We do offer assurance-type warranties on certain of our installed products and services that do not represent a separate performance obligation and, as such, do not impact the timing or extent of revenue recognition.&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For contracts that are not complete at the reporting date, we recognize revenue over time utilizing a cost-to-cost input method as we believe this represents the best measure of when goods and services are transferred to the customer. When this method is used, we estimate the costs to complete individual contracts and record as revenue that portion of the total contract price that is considered complete based on the relationship of costs incurred to date to total anticipated costs. Under the cost-to-cost method, the use of estimated costs to complete each contract is a significant variable in the process of determining recognized revenue, requires judgment and can change throughout the duration of a contract due to contract modifications and other factors impacting job completion. The costs of earned revenue include all direct material and labor costs and those indirect costs related to contract performance, such as indirect labor, supplies, tools and repairs. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our long-term contracts can be subject to modification to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new, or changes the existing, enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing contract due to the significant integration service provided in the context of the contract and are accounted for as if they were part of that existing contract. The effect of a contract modification on the transaction price and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Payment terms typically do not exceed 30 days for short-term contracts and typically do not exceed 60 days for long-term contracts with customers. All contracts are billed either contractually or as work is performed. Billing on our long-term contracts occurs primarily on a monthly basis throughout the contract period whereby we submit invoices for customer payment based on actual or estimated costs incurred during the billing period. On certain of our long-term contracts the customer may withhold payment on an invoice equal to a percentage of the invoice amount, which will be subsequently paid after satisfactory completion of each installation project. This amount is referred to as retainage and is common practice in the construction industry, as it allows for customers to ensure the quality of the service performed prior to full payment. Retainage receivables are classified as current or long-term assets based on the expected time to project completion. See "Accounts Receivable" below for further discussion of our retainage receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 expense sales commissions and other incremental costs of obtaining a contract when incurred because the amortization period is usually one year or less. Sales commissions are recorded within selling expenses on the Consolidated Statements of Operations and Comprehensive Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <ibp:RevenueFromContractWithCustomerPaymentTerms
      contextRef="i06a15d2d45a949e9b9be9127e881771f_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjE5OTAyMzI5MjE0Nw_894b51d1-8486-4dfe-b284-0e2c8aa7b990">P30D</ibp:RevenueFromContractWithCustomerPaymentTerms>
    <ibp:RevenueFromContractWithCustomerPaymentTerms
      contextRef="i0780d58de2ed467babaf3d98d1cdb764_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjE5OTAyMzI5MjE1NQ_2f757cd2-4b84-405f-9163-ab91552be8ee">P60D</ibp:RevenueFromContractWithCustomerPaymentTerms>
    <us-gaap:DerivativesMethodsOfAccountingHedgingDerivatives
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NTc_73929d6d-8e8c-4855-a92f-9a717b5a7637">We record all derivatives on the balance sheet at fair value. The accounting for changes in the fair value of derivatives depends on the intended use of the derivative, whether we have elected to designate a derivative in a hedging relationship and apply hedge accounting and whether the hedging relationship has satisfied the criteria necessary to apply hedge accounting. Derivatives designated and qualifying as a hedge of the exposure to variability in expected future cash flows, or other types of forecasted transactions, are considered cash flow hedges. Hedge accounting generally provides for the matching of the timing of gain or loss recognition on the hedging instrument with the recognition of the earnings effect of the hedged forecasted transactions in a cash flow hedge. We may enter into derivative contracts that are intended to economically hedge certain of our risks, even though hedge accounting does not apply or we elect not to apply hedge accounting.</us-gaap:DerivativesMethodsOfAccountingHedgingDerivatives>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NzY_ac3b42d9-5225-4852-a3df-0eba072fbfe6">The purchase price for business combinations is allocated to the estimated fair values of acquired tangible and intangible assets, including goodwill and assumed liabilities, where applicable. Additionally, we recognize customer relationships, trademarks and trade names, backlog and non-competition agreements as identifiable intangible assets. These assets are recorded at fair value as of the transaction date. The fair value of these intangibles is determined using either the income approach or the market approach using current industry information which involves significant unobservable inputs (Level 3 inputs). These inputs include projected sales, margin and tax rate.At times, the total purchase price for a business combination could be less than the estimated fair values of acquired tangible and intangible assets. In these cases, we record a gain on bargain purchase within other expenses in the Consolidated Statements of Operations and Comprehensive Income rather than goodwill in accordance with U.S. GAAP.</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:ReceivablesPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NjE_4d4424f3-3501-483d-9ea3-d6e741774bf0">We account for trade receivables based on amounts billed to customers. Past due receivables are determined based on contractual terms. We do not accrue interest on any of our trade receivables.Retainage receivables represent the amount retained by our customers to ensure the quality of the installation and is received after satisfactory completion of each installation project. Management regularly reviews aging of retainage receivables and changes in payment trends and records an allowance when collection of amounts due are considered at risk.</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:AccountsReceivableNet
      contextRef="i62bd539bc4184f3092252e131913a4ae_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfOTk1OQ_4ae7924d-6135-4b95-9061-c1b3311c36e7"
      unitRef="usd">40500000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i9ca8a29b631b45a1b382aa3caf8705d5_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfOTk2Nw_0440de9d-0a08-467e-bafe-b5b31bae2af9"
      unitRef="usd">41700000</us-gaap:AccountsReceivableNet>
    <us-gaap:ConstructionContractorReceivableRetainage
      contextRef="i3bae4c7239264db3a6116a56ae8217b3_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTAwMjQ_a430dca2-ba3a-4cae-940f-c39525c7f6d0"
      unitRef="usd">500000</us-gaap:ConstructionContractorReceivableRetainage>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesPolicyForUncollectibleAmounts
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NzE_8301e9e2-e4bc-4609-8c71-9fe94f70730c">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Credit losses are measured according to ASC 326, &#x201c;Financial Instruments &#x2013; Credit Losses: Measurement of Credit Losses on Financial Instruments.&#x201d; We consider forward-looking information to estimate expected credit losses for financial instruments, including trade receivables, retainage receivables and contract assets (unbilled receivables). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our expected loss allowance methodology for accounts receivable is developed using historical losses, current economic conditions and future market forecasts. We also perform ongoing evaluations of our existing and potential customer&#x2019;s creditworthiness. To date, the COVID-19 pandemic has not yet had a material impact on the collectability of our existing trade receivables. See Note 4, Credit Losses, for additional information.&lt;/span&gt;&lt;/div&gt;</us-gaap:FinancingReceivableAllowanceForCreditLossesPolicyForUncollectibleAmounts>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NTg_54a09dd0-074a-44f6-b2a3-37a84f249b10">Credit risk is our risk of financial loss from the non-performance of a contractual obligation on the part of our counterparty. Such risk arises principally from our receivables from customers and cash and bank balances. Substantially all of our trade accounts receivable are from entities engaged in residential and commercial construction. We perform periodic credit evaluations of our customers&#x2019; financial condition. The general credit risk of our counterparties is not considered to be significant.</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2a062a8eb4684411af175a5819a82b1f_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTExNzA_3bfd483b-faef-4e5f-abc2-ad2139edfe29"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic6427dcdf6084c2e8a42d8e2eec95d2e_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTExNzA_6e92ac6e-901f-4c48-870e-6fc3968ac529"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iaa8137dd93ef4027b6904cf341acac0b_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTExNzA_97513727-a9a4-46b5-8930-87116fc3604d"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="idcd8b9c78f4e4b55ac7eace567a873ff_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTExOTk_191f3f71-e77e-42ad-86b1-15e33a152d1d"
      unitRef="number">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i64670a52657b46db920b69d87ac642e7_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTExOTk_2b21bacd-5064-4000-90a6-4a2de36d77fd"
      unitRef="number">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i754d9b4c358047d1ac247440a54917f9_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTExOTk_c5f252fa-2876-4ffa-b095-a3e790ed79bf"
      unitRef="number">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4ODA_55db9bfc-4e90-4ae5-ab01-e4667e27d952">Inventories consist of insulation, waterproofing materials, fireproofing and fire-stopping materials, garage doors, rain gutters, window blinds, shower doors, mirrors, closet shelving and other products. We value inventory at each balance sheet date to ensure that it is carried at the lower of cost or net realizable value with cost determined using the first-in, first-out (&#x201c;FIFO&#x201d;) method. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable cost of completion, disposal and transportation. As of December&#160;31, 2021 and 2020, substantially all inventory was finished goods. Inventory provisions are recorded to reduce inventory to the lower of cost or net realizable value for obsolete or slow moving inventory based on assumptions about future demand and marketability of products, the impact of new product introductions, inventory levels and turns, product spoilage, and specific identification of items such as product discontinuance, engineering/material changes, or regulatory-related changes.</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4Njc_af4d2031-b921-4e0a-8613-e3233d288232">&lt;div style="margin-top:7pt"&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 stated at cost, less accumulated depreciation. We provide for depreciation and amortization of property and equipment using the straight-line method over the expected useful lives of the assets. Expected useful lives of property and equipment vary but generally are the shorter of lease life or five years for vehicles and leasehold improvements, &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTI3MDE_b3fa4e1c-1fd3-481d-8732-96517a5de827"&gt;three&lt;/span&gt; to five years for furniture, fixtures and equipment and 30 years for buildings.&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;Major renewals and improvements are capitalized. Maintenance, repairs and minor renewals are expensed as incurred. When assets are retired or otherwise disposed of, the related cost and accumulated depreciation are removed from the accounts and any resulting gain or loss is recorded.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i3a914c45cedb4829adb146e10cd0d81e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTI2NTc_564feac5-07d4-4737-85dc-d48d498dd706">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i21c3411030024d80bc1aba69ca1168dc_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTI2NTc_758c2368-064c-47d7-bcd2-66556a41d0d6">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ic9e241f93b494dbf953ee9dda13d448e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTI3MDc_2311016f-2f14-47dc-9813-962ad289f1e7">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ib940d87b8e3440ce801c8f3b36d1b584_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTI3NTI_133f5be0-f7b0-4b32-844c-7d0c8839cedb">P30Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4Nzc_472977e0-80cf-467b-bd9f-0698e62faf3d">Goodwill results from business combinations and represents the excess of the purchase price over the fair value of acquired tangible assets and liabilities and identifiable intangible assets. Annually, on October 1, or if conditions indicate an earlier review is necessary, we perform a one-step quantitative test to determine if it is more likely than not that the fair value of the reporting unit is less than its carrying amount. The estimate of the reporting unit&#x2019;s fair value is determined by weighting a discounted cash flow model and a market-related model using current industry information that involve significant unobservable inputs (Level 3 inputs). In determining the estimated future cash flow, we consider and apply certain estimates and judgments, including current and projected future levels of income based on management&#x2019;s plans, business trends, prospects, market and economic conditions and market-participant considerations. An impairment charge is recognized for the amount by which the carrying value exceeds the reporting unit's fair value, not to exceed the total amount of goodwill allocated to the reporting unit.</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NzI_871c7fa9-3890-4338-8dbd-862a92f964cb">Other intangible assets consist of customer relationships, backlog, non-competition agreements and business trademarks and trade names. Amortization of finite lived intangible assets is recorded to reflect the pattern of economic benefits based on projected revenues over their respective estimated useful lives (customer relationships &#x2013; &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ4NjI_e7797fc1-0de6-4692-a722-be69a911a17c"&gt;eight&lt;/span&gt; to 15 years, backlog &#x2013; 18 to 36 months, non-competition agreements &#x2013; &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5MDE_0047d001-0aec-4fc7-8d49-beabf3e8fa56"&gt;one&lt;/span&gt; to five years and business trademarks and trade names &#x2013; &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5NTI_d1586227-4741-4395-bfb8-585d126efc27"&gt;two&lt;/span&gt; to 15 years). We do not have any indefinite-lived intangible assets other than goodwill.We review long-lived assets and intangible assets whenever events or changes in circumstances indicate that the carrying value of an asset may not be recoverable. An impairment loss is recognized when estimated future cash flows expected to result from the use of an asset and its eventual disposition are less than its carrying amount. When impairment is identified, the carrying amount of the asset is reduced to its estimated fair value. Assets to be disposed of are recorded at the lower of net book value or fair net realizable value less cost to sell at the date management commits to a plan of disposal.</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i73859511118b498e912b56cae5edd721_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ4Njg_8d87d51d-9865-44c0-93d2-c9bc182b6845">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ic0ead78efda44dfabcc38bcfe5959532_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjE5OTAyMzI4ODc5NA_852bdf0e-ba54-4d10-ab56-c2730142055a">P18M</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="idf40088ab8b14097b262fb47e2a0e10a_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjE5OTAyMzI4ODgwMg_9bd152e8-e230-4378-9aaa-79dfdca29727">P36M</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i9a9f4189814f4e7eb25f0c05f4e60683_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5MDc_5a64116b-eb5f-4ac8-a49d-1bdeefdf7656">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iff170bc1607444ac9fe78d022439bc91_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTQ5NTg_5d817596-53c4-49d4-b782-c7209b756c93">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTU2NjA_1afe2d41-351d-4de3-9f22-563b6ca1d195"
      unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTU2NjA_56951acb-23d0-479c-a3b3-80bb8276707a"
      unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTU2NjA_f897ede5-b38f-47a4-a4cc-30401614cd0c"
      unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <ibp:OtherLiabilitiesPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NTk_89673c09-cc25-48f6-a05e-bdb8e5346755">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our workers&#x2019; compensation insurance program, for a significant portion of our business, is considered a high deductible program whereby we are responsible for the cost of claims under approximately $0.8 million. Our general liability insurance program is considered a high retention program whereby we are responsible for the cost of claims up to approximately $5.0 million, subject to an aggregate cap of $10.0 million. Our vehicle liability insurance program is considered a high deductible program whereby we are responsible for the cost of claims under approximately $1.0 million. In each case, if we do not pay these claims, our insurance carriers are required to make these payments to the claimants on our behalf. The liabilities represent our best estimate of our costs, using generally accepted actuarial reserving methods, of the ultimate obligations for reported claims plus those incurred but not reported for all claims incurred through December&#160;31, 2021 and 2020. We establish case reserves for reported claims using case-basis evaluation of the underlying claims data and we update as information becomes known. We regularly monitor the potential for changes in estimates, evaluate our insurance accruals and adjust our recorded provisions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assumptions underlying the ultimate costs of existing claim losses are subject to a high degree of unpredictability, which can affect the liability recorded for such claims. For example, variability in inflation rates of health care costs inherent in workers&#x2019; compensation claims can affect the ultimate costs. Similarly, changes in legal trends and interpretations, as well as a change in the nature and method of how claims are settled, can affect ultimate costs. Our estimates of liabilities incurred do not anticipate significant changes in historical trends for these variables and any changes could have a considerable effect on future claim costs and currently recorded liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We carry insurance for a number of risks, including, but not limited to, workers&#x2019; compensation, general liability, vehicle liability, property and our obligation for employee-related health care benefits. Liabilities relating to claims associated with these risks are estimated by considering historical claims experience, including frequency, severity, demographic factors and other actuarial assumptions. In estimating our liability for such claims, we periodically analyze our historical trends, including loss development, and apply appropriate loss development factors to the incurred costs associated with the claims with the assistance of external actuarial consultants. While we do not expect the amounts ultimately paid to differ significantly from our estimates, our reserves and corresponding expenses could be affected if future claim experience differs significantly from historical trends and actuarial assumptions.&lt;/span&gt;&lt;/div&gt;</ibp:OtherLiabilitiesPolicyTextBlock>
    <us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent
      contextRef="i0168801bcd294a2d8f4f0b21f561649a_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTU5MzI_0da9a885-b012-4599-a3c4-9a455a6bc69d"
      unitRef="usd">800000</us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent
      contextRef="ice20bc1bbe7f47f4bdd769420848c6be_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTYwODU_c75f531c-fc0c-412f-a703-05e103b887fc"
      unitRef="usd">5000000</us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent>
    <ibp:AggregateCapWorkersCompensationLiability
      contextRef="ice20bc1bbe7f47f4bdd769420848c6be_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTYxMjA_413de39c-d804-4fdc-a89e-7e1331454af5"
      unitRef="usd">10000000</ibp:AggregateCapWorkersCompensationLiability>
    <us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent
      contextRef="i38d246353e0f408d8b30de9b22b4e939_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTYyNzQ_b6c1a58c-e9c3-4d45-b519-a84c04e927ba"
      unitRef="usd">1000000</us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4Njg_5ad0a330-bc2b-4d18-966a-dfcc7ff91c9a">Advertising costs are generally expensed as incurred.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTg2Njg_ec670c66-b05e-42e3-91ad-1a1d46b644f4"
      unitRef="usd">4600000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTg2NzI_1992b653-d26f-4cb9-acd4-eec8cb91492f"
      unitRef="usd">3900000</us-gaap:AdvertisingExpense>
    <ibp:DeferredOfferingCostsPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NzU_029aa46f-f3bc-434c-b2d2-c0b61fb64c18">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred financing costs and debt issuance costs combined, totaling $11.4 million and $7.0 million, net of accumulated amortization as of December&#160;31, 2021 and 2020, respectively, are amortized over the term of the related debt on a straight-line basis which approximates the effective interest method. The deferred financing costs are included in other non-current assets while the debt issuance costs are included in long-term debt on the Consolidated Balance Sheets as of December&#160;31, 2021 and 2020, respectively. The related amortization expense of these costs combined was $1.4 million, $1.3 million and $1.2 million and is included in interest expense, net on the Consolidated Statements of Operations and Comprehensive Income for the years ended December&#160;31, 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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We wrote off $0.2 million and $3.3 million in previously capitalized loan costs during the years ended December&#160;31, 2021 and 2019, respectively. In addition, we expensed loan costs of approximately $1.6 million and $0.4 million for the years ended December&#160;31, 2021 and 2019, respectively, associated with our credit facilities because they did not meet the requirements for capitalization. We had no such write offs or expenses during the year ended December&#160;31, 2020. These amounts are included in interest expense, net on the Consolidated Statements of Operations and Comprehensive Income. We also had $7.5 million in new costs associated with the debt-related financing transactions incurred during the year ended December&#160;31, 2021. The deferred financing costs are included in other non-current assets while the debt issuance costs are included in long-term debt on the Consolidated Balance Sheets. These costs are amortized over the term of the related debt on a straight-line basis which approximates the effective interest method.&lt;/span&gt;&lt;/div&gt;</ibp:DeferredOfferingCostsPolicyTextBlock>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTg5MzA_1e471466-f61d-4a15-b1e8-79de9c569849"
      unitRef="usd">11400000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTg5Mzc_a586b02a-4cf0-4308-bc8e-c6fa5785f070"
      unitRef="usd">7000000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTkzODU_3b78a718-e44a-4ef1-a6fe-92924679fd83"
      unitRef="usd">1400000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTkzODk_f9202daa-4b46-4c06-8115-1a8d08a74dce"
      unitRef="usd">1300000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTkzOTY_dc01764e-3691-4a8c-ba1b-58589862929a"
      unitRef="usd">1200000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="icc948b1c8e5840449c58ba8ec014bb8c_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTk1NzM_de0653eb-c02f-461b-9eaa-4115550273df"
      unitRef="usd">200000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i43eea72c73464f0abaeceff2b649f952_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfNDk0NzgwMjM2MTQ5MQ_d8b9ec9d-226a-4759-ba61-7c96f52e4735"
      unitRef="usd">3300000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="icdef4d6cd3e94463a06f9991b68a8410_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfNDk0NzgwMjM1NzM3OA_2fd08e66-96af-4c7b-83f2-82ca89ba2949"
      unitRef="usd">1600000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i3f555ac6cd994d298fdab232e686c6f7_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMTk2OTk_b54857ab-642b-44c0-94dc-73e277bb8de2"
      unitRef="usd">400000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i12fb2f68a81548179718bc297f4b30fa_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjE5OTAyMzI5MjE0MA_6db9e186-ca67-4d83-b484-e50c51ed441e"
      unitRef="usd">0</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i87c55b8d6b95457387fbce59bc11c1ef_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjE5OTAyMzI5MjE0MA_9be98d8d-d40e-4f25-8828-4429c195c276"
      unitRef="usd">0</us-gaap:DeferredFinanceCostsNet>
    <ibp:DebtRelatedFinancingCost
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjAwNDc_8797b7fb-de63-46b3-9078-a00994177282"
      unitRef="usd">7500000</ibp:DebtRelatedFinancingCost>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NzM_12f472ba-8ed6-4fa9-9467-7b10d02b2b3c">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leases are measure according to ASC 842, &#x201c;Leases,&#x201d; which requires substantially all leases, with the exception of leases with a term of one year or less, to be recorded as a lease liability measured as the present value of the future lease payments with a corresponding right-of-use asset. ASC 842 also requires disclosures designed to give financial statement users information on the amount, timing and uncertainty of cash flows. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease at inception. Most of our operating leases do not provide an implicit rate so we use our incremental borrowing rate based on the information available at the commencement date to determine the present value of future payments. Leases with an initial term of 12 months or less are not recorded on the balance sheet as we recognize lease expense for these leases on a straight-line basis over the lease term. We elect to not separate lease components from non-lease components for all fixed payments, and we exclude variable lease payments in the measurement of right-of-use assets and lease obligations.&lt;/span&gt;&lt;/div&gt;Most lease agreements include one or more renewal options, all of which are at our sole discretion. Generally, future renewal options that have not been executed as of the balance sheet date are excluded from right-of-use assets and related lease liabilities. Certain leases also include options to purchase the leased property. The depreciable life of assets and leasehold improvements are limited by the expected lease term, unless there is a transfer of title or purchase option reasonably certain of exercise. Some of our vehicle lease agreements include provisions for residual value guarantees and any expected payment is included in our lease liability.</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4Nzg_58facf98-80d9-4d30-a8ee-13817fcf2648">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our share-based compensation program is designed to attract and retain employees while also aligning employees&#x2019; interests with the interests of our stockholders. Restricted stock awards are periodically granted to certain employees, officers and non-employee members of our board of directors under the stockholder-approved 2014 Omnibus Incentive Plan.&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;Certain of our stock awards are deemed to be equity-based with a service condition and do not contain a market or performance condition with the exception of performance-based awards granted to certain officers and performance-based stock units. Fair value of the non-performance-based awards to employees and officers is measured at the grant date and amortized to expense &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;over the vesting period of the awards using the straight-line attribution method for all service-based awards with a graded vesting feature. This fair value is reduced by assumed forfeitures and adjusted for actual forfeitures until vesting. We also issue performance-based stock awards to certain officers under our 2014 Omnibus Incentive Plan. The performance-based compensation expense is recorded over the requisite service period using the graded-vesting method for the entire award. Performance-based stock awards are accounted for at fair value at date of grant. We also periodically grant performance-based stock units to certain employees under the stockholder-approved 2014 Omnibus Incentive Plan. These units convert to shares upon meeting time- and performance-based requirements.&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;Compensation expense for performance-based stock units is recorded based on an assessment each reporting period of the probability that certain performance goals will be met during the contingent vesting period. If performance goals are not probable to occur, no compensation expense will be recognized. If performance goals that were previously deemed probable are not or are not expected to be met, the previously recognized compensation cost related to such performance goals will be reversed. Employees and officers are subject to tax at the vesting date based on the market price of the shares on that date, or on the grant date if an election is made.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NjQ_88fcbd84-e3f1-41cf-acbb-8c2554e093b8">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for income taxes using the asset and liability method. Under this method, the amount of taxes currently payable or refundable are accrued and deferred tax assets and liabilities are recognized for the estimated future tax consequences of temporary differences that currently exist between the tax basis and financial reporting basis of our assets and liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Valuation allowances are established against deferred tax assets when it is more likely than not that the realization of those deferred tax assets will not occur. In evaluating our ability to recover our deferred tax assets within the jurisdiction from which they arise, we consider all available positive and negative evidence, including scheduled reversals of deferred tax liabilities, the ability to produce future taxable income, prudent and feasible tax planning strategies and recent financial operations. In projecting future taxable income, we factor in historical results and changes in accounting policies and incorporate assumptions, including the amount of future federal and state pretax operating income, the reversal of temporary differences and the implementation of feasible and prudent tax planning strategies. These assumptions require significant judgment about the forecasts of future taxable income and are consistent with the plans and estimates we use to manage the underlying businesses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse. The effect on deferred taxes from a change in tax rate is recognized through operations in the period that includes the enactment date of the change. Changes in tax laws and rates could also affect recorded deferred tax assets and liabilities in the future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A tax benefit from an uncertain tax position may be recognized when it is more likely than not that the position will be sustained upon examination, including resolutions of any related appeals or litigation processes, based on the technical merits. Income tax positions must meet a more likely than not recognition threshold to be recognized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgment changes as a result of the evaluation of new information not previously available. Liabilities related to uncertain tax positions are recorded in other long-term liabilities on the Consolidated Balance Sheets. Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities. These differences will be reflected as increases or decreases to income tax expense and the effective tax rate in the period in which the new information becomes available. Interest and penalties related to unrecognized tax benefits are recognized within income tax expense in the Consolidated Statements of Operations and Comprehensive Income. Accrued interest and penalties are recognized in other current liabilities on the Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 income tax expense, deferred tax assets and liabilities and reserves for unrecognized tax benefits reflect management&#x2019;s best assessment of estimated future taxes to be paid. We are subject to income taxes in the United States, which includes numerous state and local jurisdictions. Significant judgments and estimates are required in determining the income tax expense, deferred tax assets and liabilities and the reserve for unrecognized tax benefits.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4NjU_dc2be3fc-ba93-4025-8b86-8464dd3d147f">&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&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:61.914%"/&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:400;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective&#160;Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Adoption&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ASU 2021-01, Reference Rate Reform (Topic 848): Scope&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective upon issuance &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;This pronouncement clarifies the scope and application of ASU 2020-04,  "Reference Rate Reform: Facilitation of the Effects of Reference Rate Reform on Financial  Reporting (Topic 848)." We continue to evaluate the impact of Topic 848 and may apply other elections as applicable as additional changes in the market occur.&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ASU 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 1, 2021&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;This pronouncement simplifies the accounting for income taxes by removing certain exceptions to the general principles of Topic 740 and improves the consistent application of GAAP by clarifying and amending existing guidance. The adoption of this standard did not impact our financial statements or have a material effect on our disclosures.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are currently evaluating the impact of certain ASUs on our Consolidated Financial Statements or Notes to Consolidated Financial Statements, which are described below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.350%"/&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:23.350%"/&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:23.350%"/&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:23.354%"/&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:400;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effect&#160;on&#160;the&#160;financial&#160;statements&#160;or&lt;br/&gt;other significant matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;ASU 2021-08, Business Combinations (Topic 805): Accounting for contract assets and contract liabilities from contracts with customers &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;This pronouncement amends Topic 805 to require an acquirer to account for revenue contracts in a business combination in accordance with Topic 606 as if the acquirer had originated the contracts. &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;Annual periods beginning after December 15, 2022, including interim periods therein. Early adoption is permitted.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;We are currently assessing the impact of the adoption on our consolidated financial statements.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85MS9mcmFnOmZkMjRiMThlOGZkMDQyZmQ5NGIxZWViNDIzZDdkYmZjL3RleHRyZWdpb246ZmQyNGIxOGU4ZmQwNDJmZDk0YjFlZWI0MjNkN2RiZmNfMjg4Njk_d1cd2850-bded-4a5c-bb37-d1011dff085b">&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&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:61.914%"/&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:400;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective&#160;Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Adoption&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ASU 2021-01, Reference Rate Reform (Topic 848): Scope&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective upon issuance &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;This pronouncement clarifies the scope and application of ASU 2020-04,  "Reference Rate Reform: Facilitation of the Effects of Reference Rate Reform on Financial  Reporting (Topic 848)." We continue to evaluate the impact of Topic 848 and may apply other elections as applicable as additional changes in the market occur.&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ASU 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 1, 2021&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;This pronouncement simplifies the accounting for income taxes by removing certain exceptions to the general principles of Topic 740 and improves the consistent application of GAAP by clarifying and amending existing guidance. The adoption of this standard did not impact our financial statements or have a material effect on our disclosures.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are currently evaluating the impact of certain ASUs on our Consolidated Financial Statements or Notes to Consolidated Financial Statements, which are described below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.350%"/&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:23.350%"/&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:23.350%"/&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:23.354%"/&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:400;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effect&#160;on&#160;the&#160;financial&#160;statements&#160;or&lt;br/&gt;other significant matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;ASU 2021-08, Business Combinations (Topic 805): Accounting for contract assets and contract liabilities from contracts with customers &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;This pronouncement amends Topic 805 to require an acquirer to account for revenue contracts in a business combination in accordance with Topic 606 as if the acquirer had originated the contracts. &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;Annual periods beginning after December 15, 2022, including interim periods therein. Early adoption is permitted.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt 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;We are currently assessing the impact of the adoption on our consolidated financial statements.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMjA2OQ_7c0c3bb6-1261-4930-ba1a-1cc1b14729fa">REVENUE RECOGNITION&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We disaggregate our revenue from contracts with customers by end market and product, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. The following tables present our revenues disaggregated by end market and product (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.365%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.609%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Residential new construction&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,500,750&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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 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,243,498&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,138,475&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Repair and remodel&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;133,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial&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;333,914&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 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;Net revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,968,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,653,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;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 style="margin-top:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.363%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Insulation&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,262,628&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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 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,058,316&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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 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;970,070&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shower doors, shelving and mirrors&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;138,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Waterproofing&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;130,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Garage doors&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;108,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rain gutters&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;86,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fireproofing/firestopping&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;59,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Window blinds&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;50,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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 building products&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;131,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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 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;Net revenues&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;1,968,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;1,653,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;1,511,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Contract Assets and Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contract assets consist of unbilled amounts typically resulting from sales under contracts when the cost-to-cost method of revenue recognition is utilized and revenue recognized, based on costs incurred, exceeds the amount billed to the customer. Our contract assets are recorded in other current assets in our Consolidated Balance Sheets. Our contract liabilities consist of customer deposits and billings in excess of revenue recognized, based on costs incurred and are included in other current liabilities in our Consolidated Balance Sheets.&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;Contract assets and liabilities related to our uncompleted contracts and customer deposits were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Contract assets&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;32,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&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;(14,153)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,965)&lt;/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&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;Uncompleted contracts were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Costs incurred on uncompleted contracts&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;206,050&#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;169,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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;106,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312,213&#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;260,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Billings to date&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;285,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net under billings&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;26,235&#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;19,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&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;Net under billings were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Costs and estimated earnings in excess of billings on uncompleted contracts (contract assets)&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;32,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities)&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,444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net under billings&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;26,235&#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;19,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&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 difference between contract assets and contract liabilities as of December&#160;31, 2021 compared to December&#160;31, 2020 is primarily the result of timing differences between our performance of obligations under contracts and customer payments and billings. During the year ended December&#160;31, 2021, we recognized $8.7 million of revenue that was included in the contract liability balance at December&#160;31, 2020. We did not recognize any impairment losses on our receivables and contract assets during the years ended December&#160;31, 2021 and 2020.&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;Remaining performance obligations represent the transaction price of contracts for which work has not been performed and excludes unexercised contract options and potential modifications. As of December&#160;31, 2021, the aggregate amount of the transaction price allocated to remaining uncompleted contracts was $143.2 million. We expect to satisfy remaining performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMjA3Mw_63e76167-8fda-4220-83ca-2700edd28447">The following tables present our revenues disaggregated by end market and product (in thousands):&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.365%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.609%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Residential new construction&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,500,750&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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 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,243,498&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,138,475&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Repair and remodel&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;133,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial&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;333,914&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 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;Net revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,968,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,653,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,511,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;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 style="margin-top:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.363%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Insulation&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,262,628&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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 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,058,316&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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 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;970,070&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shower doors, shelving and mirrors&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;138,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Waterproofing&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;130,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Garage doors&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;108,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rain gutters&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;86,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fireproofing/firestopping&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;59,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;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:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Window blinds&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;50,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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 building products&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;131,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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 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;Net revenues&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;1,968,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;1,653,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;1,511,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id102d2ffc0a94e5cb634398200985fda_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMi0xLTEtMS0yNTcwNQ_ada23cef-2f82-4690-9f48-fca966dc6575"
      unitRef="usd">1500750000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib73af2f6ba9d49c9bc1d12471f867977_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMi0zLTEtMS0yNTcwNQ_75026b4c-a797-45c6-8949-bab1f881c7e8"
      unitRef="number">0.76</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i168a8f7a4216463ead923a9c09dd11ac_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMi01LTEtMS0yNTcwNQ_927f434b-1c25-4e99-b8a1-87a3976c9760"
      unitRef="usd">1243498000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5b8d4ab1fac74f64b863d236b09e4c9f_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMi03LTEtMS0yNTcwNQ_f8e77c63-8af2-4a2f-a379-5fb9a355159a"
      unitRef="number">0.75</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c5f2958d58347f38d55fcc2b8f903f2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMi05LTEtMS0yNTcwNQ_6a7b37fe-8601-489d-9407-c54171ae2fba"
      unitRef="usd">1138475000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iadcfc334fe4547cab07819e711528939_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMi0xMS0xLTEtMjU3MDU_fe178594-84b3-4834-b3c8-d7b5a82cb146"
      unitRef="number">0.75</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0e3bc0b1a804d299ec441a612f76f7c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMy0xLTEtMS0yNTcwNQ_962f63a9-7b6d-4dd3-9140-add8968c0870"
      unitRef="usd">133986000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic4c51dee15244a8fac796f83896b9d40_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMy0zLTEtMS0yNTcwNQ_f5cbf88b-b61e-43dd-aad1-9e1e51165784"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa5470da0a1b4f0caf76ecd44942889c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMy01LTEtMS0yNTcwNQ_8a17d0be-41ce-4301-b79e-135a9dd36058"
      unitRef="usd">106784000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i42aa5e6095a24375a67316576feeb90a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMy03LTEtMS0yNTcwNQ_9be19e05-4a99-4b67-9ca9-e99236ce9f57"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icd8b94a92b4c41aca68aaab1588aee13_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMy05LTEtMS0yNTcwNQ_98781e48-520e-4f68-b699-7ccb27386cb4"
      unitRef="usd">98771000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7a21b46436284b1fb145b698182dce8e_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfMy0xMS0xLTEtMjU3MDU_71f56991-2a6e-4d47-94ff-abe8251d0358"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9c45d27d29644400ac0922d1d6c87f4a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNC0xLTEtMS0yNTcwNQ_85193b1c-7c71-4794-a581-851a649bc462"
      unitRef="usd">333914000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i6d5295368a49461480959c9402b41f7c_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNC0zLTEtMS0yNTcwNQ_9b3c0800-67bc-4897-bebc-3213a4b9aef1"
      unitRef="number">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i48ae0f226b4046a58806fc7b58c086d4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNC01LTEtMS0yNTcwNQ_6c9d9325-22b8-48be-aae2-92a626e7840a"
      unitRef="usd">302943000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2e38a206d6b5470a9ff29282c6fe3bdb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNC03LTEtMS0yNTcwNQ_0a14e5eb-d90d-4659-91cc-476fa90f1419"
      unitRef="number">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if33891b7cf8842ffa3433fdc5d777777_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNC05LTEtMS0yNTcwNQ_54754404-f15b-4b9c-9425-6d8ff54ccb4f"
      unitRef="usd">274383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie82acdf7348a4f4b8987000330c25809_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNC0xMS0xLTEtMjU3MDU_bc3fde67-8921-4fee-9bae-6abdd35a4f18"
      unitRef="number">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNS0xLTEtMS0yNTcwNQ_60e11dc9-b2bb-4ff2-85f9-97edec0dd0e8"
      unitRef="usd">1968650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ifc6e3fc5bf594d139cc74e80ac192471_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNS0zLTEtMS0yNTcwNQ_227f0d40-dcc2-4690-8fdd-0df9141c8c1a"
      unitRef="number">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNS01LTEtMS0yNTcwNQ_1390f8cb-cb1a-4468-91f0-ce3cbd67babb"
      unitRef="usd">1653225000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib309db30c1a04b028dcdf10c7c42f013_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNS03LTEtMS0yNTcwNQ_9e6f3d7e-830f-41fb-a792-221e7bbd4964"
      unitRef="number">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNS05LTEtMS0yNTcwNQ_24012886-f274-4910-9a02-bdc5e4ab9e54"
      unitRef="usd">1511629000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i65706dc172014c4d870cb3a8acf1e611_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmFjOWExOWRmNTg1ZTRmOTdiYWZmZmM4YmYxOGVhZDcxL3RhYmxlcmFuZ2U6YWM5YTE5ZGY1ODVlNGY5N2JhZmZmYzhiZjE4ZWFkNzFfNS0xMS0xLTEtMjU3MDU_0473803d-25ee-4370-aef1-b135289b7f17"
      unitRef="number">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i38e02bd98c7247b4bfbdf06ca1d5db16_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMi0xLTEtMS0yNTcwNQ_d14f2e37-b48e-48fd-81b3-b6af4c780d21"
      unitRef="usd">1262628000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i30a6cb77a54245acaec5fddb3c83cb37_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMi0zLTEtMS0yNTcwNQ_01a45119-d865-4eca-867a-f93f85016c94"
      unitRef="number">0.64</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i131db3dd6db54a6cb9ae7ed787c4e5e6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMi01LTEtMS0yNTcwNQ_15069515-9ab3-4a30-9718-373145510c49"
      unitRef="usd">1058316000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7fa903d651ae4aee85e595997db7fa2d_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMi03LTEtMS0yNTcwNQ_39f6b110-0e15-4f28-b3c2-be20fafdd9af"
      unitRef="number">0.64</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4f1c6c2c4f8248b2915dc8312eb5760c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMi05LTEtMS0yNTcwNQ_a94313bb-5934-42a1-9a65-293660a5fbf5"
      unitRef="usd">970070000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i037ca34cabcd4a4e9cdd52edf538aa3b_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMi0xMS0xLTEtMjU3MDU_c7fb5c77-6e40-4129-9d13-7c9ebc11ef00"
      unitRef="number">0.64</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic6155721f30f4917ace6f450c5787821_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy0xLTEtMS0zNDM1MA_e892b8c8-261c-43a8-bdb1-7afa7c0fe62c"
      unitRef="usd">138797000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iabd3a72a98e540cf98cb4dd30b074546_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy0zLTEtMS0zNDM1MA_1b632e42-72ae-48e9-b5c9-5d17ae20a5cf"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iecb23ac7ef0644478eb82f7e34c230e6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy01LTEtMS0zNDM1MA_0632f93a-ff53-4aa6-b95f-60aabdca0506"
      unitRef="usd">117131000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic210ceaaaf9042929e3353c7ab453185_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy03LTEtMS0zNDM1MA_93c11b63-19b1-42bd-834e-dd701e816730"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2343caf0b8bf4807b95db4104e7a0468_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy05LTEtMS0zNDM1MA_9d2ede3c-be0b-40c0-b07f-ad2779f7db29"
      unitRef="usd">105745000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id65348d44fc141cd8ebeaf1b796c91d1_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy0xMS0xLTEtMzQzNTA_4f8d53a4-6623-4d83-95b2-aed92a5e61d7"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7f9bf98c9d74075b421cd99671de44d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy0xLTEtMS0yNTcwNQ_8cec5583-1555-4294-b000-ec9fdc5b543f"
      unitRef="usd">130924000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib132d92bad5345d79dd74867aa1946eb_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy0zLTEtMS0yNTcwNQ_5ef95784-7b0b-409d-ad68-7094bc89cf0c"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6b138a3712db483e8efcf88c8012bfc0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy01LTEtMS0yNTcwNQ_7395414b-40e0-4082-bdc3-28fd182e82b6"
      unitRef="usd">122962000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5e67b737acdd46a0bfcc57c7f7cc3c50_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy03LTEtMS0yNTcwNQ_f3129299-2f6c-4389-b41b-b25af1493575"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if5e3c28fd3df4ecaa4a009679932a54f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy05LTEtMS0yNTcwNQ_5c5d8838-2898-4fc8-9d2d-190add182341"
      unitRef="usd">112075000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4c917129db3e4420ba42725963c4ac6d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMy0xMS0xLTEtMjU3MDU_5eec84eb-31e5-4bda-b4c5-c9b7824dfc4e"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib7387f39a2c84e6eaa307739a9cfe5a0_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNS0xLTEtMS0yNTcwNQ_f98645b8-dd7a-4354-99bd-e590f8440838"
      unitRef="usd">108675000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ibc3832029e03431b8336b76a37d5b9ba_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNS0zLTEtMS0yNTcwNQ_b2b871a0-eb02-4d5a-9ef5-0f9f13f5ef65"
      unitRef="number">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia4461e673cf34b258254ea10a3b3c933_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNS01LTEtMS0yNTcwNQ_e67f6c1c-951b-451a-9ace-6d4037b34a2b"
      unitRef="usd">93516000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3bcb2cd9bddc4181ba38fb0cfe4299c8_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNS03LTEtMS0yNTcwNQ_3df727a1-7c4c-46c1-a569-6e6f99e312d6"
      unitRef="number">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i91d2bd89224b43f98142d72c2b575816_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNS05LTEtMS0yNTcwNQ_bfeb10a6-24c4-406e-b95f-18533a972a35"
      unitRef="usd">89959000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i24e75d0bd8a34becb0c6b43697d78728_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNS0xMS0xLTEtMjU3MDU_dc5f9945-09a8-4f37-85a4-2d4dc067178a"
      unitRef="number">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e3db03e5d0e4b6bb44576b30ca8eb8b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNi0xLTEtMS0yNTcwNQ_29c0380d-2f5b-476a-adc1-4e7369d0fc30"
      unitRef="usd">86406000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i0100f20eacc1488486f180ee8784be5c_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNi0zLTEtMS0yNTcwNQ_5354246c-6eab-41e8-bb41-33153b5cd7ca"
      unitRef="number">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5b150b3643104f53ad9087487905ad0e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNi01LTEtMS0yNTcwNQ_a5f6628f-d6d5-4990-b68c-aabc22ad2bca"
      unitRef="usd">62672000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic2bb6d0141e14d7fb18a45da3bf345cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNi03LTEtMS0yNTcwNQ_b0389560-2caf-481b-b023-c95277bac86a"
      unitRef="number">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20568315f7c64cfdb7e65b6535bd8210_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNi05LTEtMS0yNTcwNQ_ad5fcd88-2838-410a-a272-fee0663132cf"
      unitRef="usd">49788000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i093751715ffe40638a0d3acc656fd6b8_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNi0xMS0xLTEtMjU3MDU_4f9ac334-1187-4d08-b104-8f6f7f6956b7"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i84d544257e844f27afc3a8df959283cc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNy0xLTEtMS0yNTcwNQ_a65aa68d-aedf-457e-9665-114dffcaf661"
      unitRef="usd">59381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8601e4ddce3e4a1495dea542a4621563_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNy0zLTEtMS0yNTcwNQ_b63d915d-e58e-485e-ad60-2a4f88db38ed"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i86971855573b49dcb60c53d845368927_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNy01LTEtMS0yNTcwNQ_9aebaa74-1b6d-4038-a505-73dc59c6df06"
      unitRef="usd">49648000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1556992424114562a716ab267e1117b9_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNy03LTEtMS0yNTcwNQ_9a105094-3b19-4ee7-8adc-7bab06ddbb59"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie196e1864dac4cd7ae77cde9dcdfc793_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNy05LTEtMS0yNTcwNQ_4152d8c3-1b7f-429b-90a7-c9c21e544b81"
      unitRef="usd">41845000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i78600baae50b4665b927f209ef45ecc1_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfNy0xMS0xLTEtMjU3MDU_ddfd480d-e057-4b54-8b9c-baa5284bbf31"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2441a67478c34fe7baec7e6e95e9b4f8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOC0xLTEtMS0yNTcwNQ_3874309e-1d48-40fb-b560-52febd1b311e"
      unitRef="usd">50255000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2ea6c378d54f4e45956788976f9c312e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOC0zLTEtMS0yNTcwNQ_41c6ad68-65a7-44b1-80f5-78a2a016cb6a"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79db8ca2f8af4bac969af50e245b10a7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOC01LTEtMS0yNTcwNQ_41e086e4-4004-4982-aebb-4b9c7993a6e1"
      unitRef="usd">46984000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i21916d273d7f4ec393de6b301c741129_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOC03LTEtMS0yNTcwNQ_19336621-7031-42d3-963d-0df2a1c2b818"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic8b415d6c69742e0a8b8c4ab51adb780_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOC05LTEtMS0yNTcwNQ_1cb1b7ce-67ad-463b-bfbb-3a8b7cc6e94c"
      unitRef="usd">41641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i824905db549149d08fea8e138828b078_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOC0xMS0xLTEtMjU3MDU_cb62f69c-fc16-46c7-98a5-47d5399f5823"
      unitRef="number">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idb0aec27e5fd4639925ff52f9da1617e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOS0xLTEtMS0yNTcwNQ_94520ade-d7ce-4a08-bf0a-136c79896325"
      unitRef="usd">131584000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8d784df6c0ec473abb358fecaeaac558_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOS0zLTEtMS0yNTcwNQ_8bf2d7dd-d62b-4538-bd30-3a726a2a4fb6"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id4153ae1c8d54239bd7d074a44725c18_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOS01LTEtMS0yNTcwNQ_8cc9e8a8-459f-42e8-bb53-4e388bb1917b"
      unitRef="usd">101996000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3798b930a70f450db2561b16cd0f8bdd_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOS03LTEtMS0yNTcwNQ_d10af835-9894-4185-a8ed-c05861c7c5d4"
      unitRef="number">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if85abc20c12e4c7c87a6701e25217ae6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOS05LTEtMS0yNTcwNQ_5bfa951b-db85-49ce-8bb3-2a6297abbcb8"
      unitRef="usd">100506000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5d68c3620e3a40259fe6b8f43d61516b_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfOS0xMS0xLTEtMjU3MDU_2c83afec-54ed-434d-beb6-9da0b483dd9c"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMTAtMS0xLTEtMjU3MDU_bde701d6-02d8-47f2-ab4d-0ff54b473c8c"
      unitRef="usd">1968650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i698e53f860bc4851ba2d6a518909331f_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMTAtMy0xLTEtMjU3MDU_a0744a28-f2e2-4fe8-a32e-af308aa269ea"
      unitRef="number">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMTAtNS0xLTEtMjU3MDU_fccd8656-7d30-4394-82a1-86f1e35f884d"
      unitRef="usd">1653225000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7967f06a4a614ec1a1eba178c1817f0b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMTAtNy0xLTEtMjU3MDU_3fb060b7-1362-4135-b288-88619447a231"
      unitRef="number">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMTAtOS0xLTEtMjU3MDU_a93f48f4-532c-4b5e-95dd-f86ea7adcacb"
      unitRef="usd">1511629000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib82b1462ed38471f9e3896e0cc3daeee_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjY2NTBmNTcwMzJjMTQxNDI4NDQ0MTMyNTMxYzMyYzRiL3RhYmxlcmFuZ2U6NjY1MGY1NzAzMmMxNDE0Mjg0NDQxMzI1MzFjMzJjNGJfMTAtMTEtMS0xLTI1NzA1_c3c716af-f82b-48e6-8c3b-be0ed944877a"
      unitRef="number">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMjA3MA_e8952cc4-6cbd-439d-af9b-1b6ea2795165">&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;Contract assets and liabilities related to our uncompleted contracts and customer deposits were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Contract assets&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;32,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&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;(14,153)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,965)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjI4MGNkNjM5ZGFmYjQ3Nzk4MmQ2ODA3ZjRkYjA0NTg2L3RhYmxlcmFuZ2U6MjgwY2Q2MzlkYWZiNDc3OTgyZDY4MDdmNGRiMDQ1ODZfMi0xLTEtMS0yNTcwNQ_a538a124-d5b9-48bf-ae40-8dd61e4669df"
      unitRef="usd">32679000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjI4MGNkNjM5ZGFmYjQ3Nzk4MmQ2ODA3ZjRkYjA0NTg2L3RhYmxlcmFuZ2U6MjgwY2Q2MzlkYWZiNDc3OTgyZDY4MDdmNGRiMDQ1ODZfMi0zLTEtMS0yNTcwNQ_bb68740b-1943-4f57-8697-45ea3d88a2c5"
      unitRef="usd">24334000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjI4MGNkNjM5ZGFmYjQ3Nzk4MmQ2ODA3ZjRkYjA0NTg2L3RhYmxlcmFuZ2U6MjgwY2Q2MzlkYWZiNDc3OTgyZDY4MDdmNGRiMDQ1ODZfMy0xLTEtMS0yNTcwNQ_55d7397a-11e0-4c8a-8d58-f358de6f0b55"
      unitRef="usd">14153000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOjI4MGNkNjM5ZGFmYjQ3Nzk4MmQ2ODA3ZjRkYjA0NTg2L3RhYmxlcmFuZ2U6MjgwY2Q2MzlkYWZiNDc3OTgyZDY4MDdmNGRiMDQ1ODZfMy0zLTEtMS0yNTcwNQ_317e57ed-1133-4108-99be-caff384852bf"
      unitRef="usd">8965000</us-gaap:ContractWithCustomerLiability>
    <ibp:CostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMjA3MQ_13f22b7f-47bb-4947-8682-49b3fadcf053">&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;Uncompleted contracts were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Costs incurred on uncompleted contracts&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;206,050&#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;169,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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;106,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312,213&#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;260,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Billings to date&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;285,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net under billings&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;26,235&#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;19,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;</ibp:CostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock>
    <ibp:CostsIncurredOnUncompletedContracts
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfMi0xLTEtMS0yNTcwNQ_907dae7c-4916-420b-b6a8-62a2ecf7fcc8"
      unitRef="usd">206050000</ibp:CostsIncurredOnUncompletedContracts>
    <ibp:CostsIncurredOnUncompletedContracts
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfMi0zLTEtMS0yNTcwNQ_669234ce-1e3a-4d8e-b92d-97e61d5de4c2"
      unitRef="usd">169544000</ibp:CostsIncurredOnUncompletedContracts>
    <ibp:EstimatedEarningsOnLongTermContracts
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfMy0xLTEtMS0yNTcwNQ_856eb1e2-92c2-4f71-8551-6fd1d08d13a6"
      unitRef="usd">106163000</ibp:EstimatedEarningsOnLongTermContracts>
    <ibp:EstimatedEarningsOnLongTermContracts
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfMy0zLTEtMS0yNTcwNQ_8294f12a-feed-47d2-afea-58c5da156f11"
      unitRef="usd">90737000</ibp:EstimatedEarningsOnLongTermContracts>
    <us-gaap:ReceivablesLongTermContractsOrPrograms
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfNC0xLTEtMS0yNTcwNQ_35c1a3f8-6593-4219-ac84-41d1493d726a"
      unitRef="usd">312213000</us-gaap:ReceivablesLongTermContractsOrPrograms>
    <us-gaap:ReceivablesLongTermContractsOrPrograms
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfNC0zLTEtMS0yNTcwNQ_a0a90c5a-98d7-4c72-80c5-13666696966c"
      unitRef="usd">260281000</us-gaap:ReceivablesLongTermContractsOrPrograms>
    <us-gaap:BilledContractReceivables
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfNS0xLTEtMS0yNTcwNQ_93c83a6f-5a95-4253-b2a3-2da2ad59635f"
      unitRef="usd">285978000</us-gaap:BilledContractReceivables>
    <us-gaap:BilledContractReceivables
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfNS0zLTEtMS0yNTcwNQ_8036d5c2-6feb-4b3a-b109-b5898948f0af"
      unitRef="usd">240665000</us-gaap:BilledContractReceivables>
    <ibp:CostAndEstimatedEarningsUnderOverBillingsNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfNi0xLTEtMS0yNTcwNQ_58915035-3a2d-416b-9a51-95bfae5fc5f0"
      unitRef="usd">26235000</ibp:CostAndEstimatedEarningsUnderOverBillingsNet>
    <ibp:CostAndEstimatedEarningsUnderOverBillingsNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmIyODY0NzBkNzUzYjQ3ZWViY2Q3NDE2Yjc4MWQ4MWU3L3RhYmxlcmFuZ2U6YjI4NjQ3MGQ3NTNiNDdlZWJjZDc0MTZiNzgxZDgxZTdfNi0zLTEtMS0yNTcwNQ_4f6b0d6c-1bbb-46c3-a7a8-f7717d1353ff"
      unitRef="usd">19616000</ibp:CostAndEstimatedEarningsUnderOverBillingsNet>
    <us-gaap:CostsInExcessOfBillingsAndBillingsInExcessOfCostsTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMjA3Mg_fd31e972-e41f-4a03-bfdf-3b558e859cce">&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;Net under billings were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Costs and estimated earnings in excess of billings on uncompleted contracts (contract assets)&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;32,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities)&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,444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net under billings&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;26,235&#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;19,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;</us-gaap:CostsInExcessOfBillingsAndBillingsInExcessOfCostsTableTextBlock>
    <ibp:CostsAndEstimatedEarningsInExcessOfBillingOnUncompletedContracts
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmVmNzg5MTI2YThjZjRlMzY4N2MyYTFjZTgwMDFhMDg2L3RhYmxlcmFuZ2U6ZWY3ODkxMjZhOGNmNGUzNjg3YzJhMWNlODAwMWEwODZfMi0xLTEtMS0yNTcwNQ_ebd8bb28-3775-4bee-a30b-64021123d9f5"
      unitRef="usd">32679000</ibp:CostsAndEstimatedEarningsInExcessOfBillingOnUncompletedContracts>
    <ibp:CostsAndEstimatedEarningsInExcessOfBillingOnUncompletedContracts
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmVmNzg5MTI2YThjZjRlMzY4N2MyYTFjZTgwMDFhMDg2L3RhYmxlcmFuZ2U6ZWY3ODkxMjZhOGNmNGUzNjg3YzJhMWNlODAwMWEwODZfMi0zLTEtMS0yNTcwNQ_067ea319-99e3-466f-b5a4-83dd261cd361"
      unitRef="usd">24334000</ibp:CostsAndEstimatedEarningsInExcessOfBillingOnUncompletedContracts>
    <ibp:BillingsInExcessOfCostOnUncompletedContracts
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmVmNzg5MTI2YThjZjRlMzY4N2MyYTFjZTgwMDFhMDg2L3RhYmxlcmFuZ2U6ZWY3ODkxMjZhOGNmNGUzNjg3YzJhMWNlODAwMWEwODZfMy0xLTEtMS0yNTcwNQ_144e45b0-9aa0-4937-9c76-51bbc0d8d0ef"
      unitRef="usd">6444000</ibp:BillingsInExcessOfCostOnUncompletedContracts>
    <ibp:BillingsInExcessOfCostOnUncompletedContracts
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmVmNzg5MTI2YThjZjRlMzY4N2MyYTFjZTgwMDFhMDg2L3RhYmxlcmFuZ2U6ZWY3ODkxMjZhOGNmNGUzNjg3YzJhMWNlODAwMWEwODZfMy0zLTEtMS0yNTcwNQ_f7b15cd1-1ec5-40ae-ba06-bae832d41c52"
      unitRef="usd">4718000</ibp:BillingsInExcessOfCostOnUncompletedContracts>
    <ibp:CostAndEstimatedEarningsUnderOverBillingsNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmVmNzg5MTI2YThjZjRlMzY4N2MyYTFjZTgwMDFhMDg2L3RhYmxlcmFuZ2U6ZWY3ODkxMjZhOGNmNGUzNjg3YzJhMWNlODAwMWEwODZfNC0xLTEtMS0yNTcwNQ_c52590c5-134f-4af3-af2a-ddf6211bad5e"
      unitRef="usd">26235000</ibp:CostAndEstimatedEarningsUnderOverBillingsNet>
    <ibp:CostAndEstimatedEarningsUnderOverBillingsNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RhYmxlOmVmNzg5MTI2YThjZjRlMzY4N2MyYTFjZTgwMDFhMDg2L3RhYmxlcmFuZ2U6ZWY3ODkxMjZhOGNmNGUzNjg3YzJhMWNlODAwMWEwODZfNC0zLTEtMS0yNTcwNQ_502e07fc-a8cb-4813-9909-9d95f5307e53"
      unitRef="usd">19616000</ibp:CostAndEstimatedEarningsUnderOverBillingsNet>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMTQzNg_a2bbb385-3046-4fcf-9ae3-aafd90874e32"
      unitRef="usd">8700000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMTUxNg_77bc01d8-7e3b-4c90-a565-95784d246bf3"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMTUxNg_bf7ea7bc-f423-43aa-b516-496c4d8794d9"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMTkxOQ_cd1e7817-168a-49bc-87b2-5bca07008e65"
      unitRef="usd">143200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i502cf469c80d4c95b294435c090aadd2_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85NC9mcmFnOjY0MDIwN2EzNzhkNTQ0ZDZhNThiYzczYWE0MWM0YjFiL3RleHRyZWdpb246NjQwMjA3YTM3OGQ1NDRkNmE1OGJjNzNhYTQxYzRiMWJfMjA2Ng_440736bd-4ddb-49e6-91b9-d14505fa8c45">P18M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:AllowanceForCreditLossesTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RleHRyZWdpb246NTY5NGQyMTFjYWY5NDc5YmEyNmNjNjIyNjBiZTYzNTlfMjA4MQ_e0ddc335-282c-4826-97ed-b753dc548e85">CREDIT LOSSESOn January 1, 2020 we adopted ASU 2016-13, &#x201c;Financial Instruments &#x2013; Credit Losses (ASC 326): Measurement of Credit Losses on Financial Instruments&#x201d; under the modified retrospective approach. ASC 326 replaces the incurred loss impairment model with an expected credit loss impairment model for financial instruments, including trade receivables, retainage receivables and contract assets (unbilled receivables). Results for reporting periods beginning after January 1, 2020 are presented under ASC 326, while prior period amounts are not adjusted. The amendment requires entities to consider forward-looking information to estimate expected credit losses, resulting in earlier recognition of losses for receivables that are current or not yet due, which were not considered under the previous accounting guidance. &lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon adoption of ASC 326, we recorded a cumulative effect adjustment to retained earnings of $1.2 million, net of $0.4 million of income taxes, on the opening consolidated balance sheet as of January 1, 2020. The adoption of the credit loss standard had no impact to cash from or used in operating, financing or investing activities on our consolidated cash flow statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 our allowance for credit losses were as follows (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:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:67.690%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.565%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.235%"/&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;January 1, 2019&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;5,085&#160;&lt;/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 16pt;text-align:left;text-indent:-9pt;vertical-align: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 period provision&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,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries collected and additions&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,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&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,788)&lt;/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;December 31, 2019&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;6,878&#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 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative effect of change in accounting principle&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align: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 period provision&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,444&#160;&lt;/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 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries collected and additions&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;503&#160;&lt;/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 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&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,636)&lt;/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;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 22pt;text-align:left;text-indent:-9pt;vertical-align: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 period provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,227&#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 2px 22pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries collected and additions&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 22pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&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,873)&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/div&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;8,717&#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;</us-gaap:AllowanceForCreditLossesTextBlock>
    <us-gaap:StockholdersEquity
      contextRef="i78d90fba58e9429887dc2af9b8879ccf_I20200101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RleHRyZWdpb246NTY5NGQyMTFjYWY5NDc5YmEyNmNjNjIyNjBiZTYzNTlfOTM3_a0f93ad3-be91-487e-a939-6c8b5c078f0d"
      unitRef="usd">-1200000</us-gaap:StockholdersEquity>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i8e380cda5e0e47ee8205d195bb663dea_I20200101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RleHRyZWdpb246NTY5NGQyMTFjYWY5NDc5YmEyNmNjNjIyNjBiZTYzNTlfOTQ4_185132ef-6fb1-41f1-ac5a-80be058ff7c0"
      unitRef="usd">400000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RleHRyZWdpb246NTY5NGQyMTFjYWY5NDc5YmEyNmNjNjIyNjBiZTYzNTlfMjA4Mg_9d12f973-a757-4b14-8d1e-3c019a8a64a3">&lt;div style="margin-top:9pt"&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 our allowance for credit losses were as follows (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:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:67.690%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.565%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.235%"/&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;January 1, 2019&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;5,085&#160;&lt;/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 16pt;text-align:left;text-indent:-9pt;vertical-align: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 period provision&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,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries collected and additions&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,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&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,788)&lt;/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;December 31, 2019&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;6,878&#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 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative effect of change in accounting principle&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align: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 period provision&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,444&#160;&lt;/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 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries collected and additions&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;503&#160;&lt;/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 16pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&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,636)&lt;/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;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 22pt;text-align:left;text-indent:-9pt;vertical-align: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 period provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,227&#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 2px 22pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries collected and additions&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 22pt;text-align:left;text-indent:-9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&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,873)&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/div&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;8,717&#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;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ia2263e5a5d344f14813fb7edf2fa2af9_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMC0xLTEtMS0yNTcwNQ_30b5b9cb-0a7c-4944-bfba-ba3e22aab4a3"
      unitRef="usd">5085000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMS0xLTEtMS0yNTcwNQ_a4a28cdc-5f80-4bd9-a1b7-232a5c4982d6"
      unitRef="usd">4312000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMi0xLTEtMS0yNTcwNQ_bf59e123-77db-4a94-8c5a-90cd81b06b3e"
      unitRef="usd">1269000</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMy0xLTEtMS0yNTcwNQ_efb497ed-d144-4306-9de3-3b7f89062c58"
      unitRef="usd">3788000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfNC0xLTEtMS0yNTcwNQ_8689a4d5-3360-44a2-b4fe-f3ef57a4edce"
      unitRef="usd">6878000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i0c61ad9a4f6746f5a705dc95b9b8f3fa_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfNS0xLTEtMS0yNzE4OA_9e0bf35f-f437-44f5-8d27-4fab1f42733a"
      unitRef="usd">1600000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfNS0xLTEtMS0yNTcwNQ_17db586f-50d1-4693-91c1-3befad1c6056"
      unitRef="usd">4444000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfNi0xLTEtMS0yNTcwNQ_facffa37-f764-4307-ad6a-97876e2ef6bf"
      unitRef="usd">503000</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfNy0xLTEtMS0yNTcwNQ_301b4f05-8b1e-4b80-b89e-2f326d956610"
      unitRef="usd">4636000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfOC0xLTEtMS0yNTcwNQ_94aefc40-c1e8-4b3a-9775-e833cd7fba00"
      unitRef="usd">8789000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMTAtMS0xLTEtMjU3MDU_d99fa77c-f56c-47aa-a64e-157e12fbe2e9"
      unitRef="usd">2227000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMTEtMS0xLTEtMjU3MDU_ff79e49f-cdfe-401b-95ee-38b1fa6df65f"
      unitRef="usd">574000</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMTItMS0xLTEtMjU3MDU_4d357ded-af7a-4dae-872f-a86bc18fbc03"
      unitRef="usd">2873000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl85Ny9mcmFnOjU2OTRkMjExY2FmOTQ3OWJhMjZjYzYyMjYwYmU2MzU5L3RhYmxlOjk2Y2M2OWI2MGNkMjQyZWNiYjIzMmY4NWMwOGE1ZjljL3RhYmxlcmFuZ2U6OTZjYzY5YjYwY2QyNDJlY2JiMjMyZjg1YzA4YTVmOWNfMTMtMS0xLTEtMjU3MDU_0ffd38e1-820c-4679-a55e-a966b2ed2825"
      unitRef="usd">8717000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDAvZnJhZzo5OGM1NWZhMWEzMWM0NzFhYTk1YTdiN2YwNjg1Mzk5Yy90ZXh0cmVnaW9uOjk4YzU1ZmExYTMxYzQ3MWFhOTVhN2I3ZjA2ODUzOTljXzU5OQ_1b3e1a7c-4441-49a7-9084-f52963a5804f">CASH AND CASH EQUIVALENTSCash and cash equivalents include highly liquid instruments with insignificant interest rate risk and original or remaining maturities of three months or less at the time of purchase. These instruments amounted to $258.1 million and $170.4 million as of December&#160;31, 2021 and 2020, respectively. See Note 10, Fair Value Measurements, for additional information.</us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDAvZnJhZzo5OGM1NWZhMWEzMWM0NzFhYTk1YTdiN2YwNjg1Mzk5Yy90ZXh0cmVnaW9uOjk4YzU1ZmExYTMxYzQ3MWFhOTVhN2I3ZjA2ODUzOTljXzE4OQ_03840568-86c6-4884-b33b-430bac482ece"
      unitRef="usd">258100000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDAvZnJhZzo5OGM1NWZhMWEzMWM0NzFhYTk1YTdiN2YwNjg1Mzk5Yy90ZXh0cmVnaW9uOjk4YzU1ZmExYTMxYzQ3MWFhOTVhN2I3ZjA2ODUzOTljXzE5Ng_b83616c5-3eb0-4025-9da5-f94e2e60108c"
      unitRef="usd">170400000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90ZXh0cmVnaW9uOmU0N2E5OGM3NTA5YzQ2ODlhZjExZDgxYWQxZDQ0NzA3XzM4MA_495a3ca4-257d-4614-bd2b-7a35213b80d7">PROPERTY AND EQUIPMENT&lt;div style="margin-top:7pt"&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 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.315%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.608%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.757%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.569%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Land&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;108&#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;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings&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,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,901&#160;&lt;/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;Leasehold improvements&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,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,288&#160;&lt;/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;Furniture, fixtures 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;64,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,780&#160;&lt;/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;Vehicles 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;248,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,003&#160;&lt;/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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;293,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and 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;(222,415)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(189,058)&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&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;We recorded the following depreciation and amortization expense on our property and equipment, by income statement category (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:65.058%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.923%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.454%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;40,938&#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;39,011&#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;36,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Administrative&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,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,939&#160;&lt;/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&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;Property and equipment as of December&#160;31, 2021 and 2020 of $123.3 million and $98.0 million, respectively, were fully depreciated but still being utilized in our business.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90ZXh0cmVnaW9uOmU0N2E5OGM3NTA5YzQ2ODlhZjExZDgxYWQxZDQ0NzA3XzM4MQ_8b746ab6-dbd6-40d3-b349-91def7cf1803">&lt;div style="margin-top:7pt"&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 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.315%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.608%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.757%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.569%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Land&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;108&#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;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings&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,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,901&#160;&lt;/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;Leasehold improvements&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,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,288&#160;&lt;/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;Furniture, fixtures 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;64,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,780&#160;&lt;/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;Vehicles 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;248,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,003&#160;&lt;/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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;293,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and 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;(222,415)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(189,058)&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i52341ca915d842b9a814abb4d99a5d70_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzItMS0xLTEtMjU3MDU_853add84-76e9-4975-88df-d3e0c331dc8b"
      unitRef="usd">108000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="if5faecb8a8c542539913990a0d1da67a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzItMy0xLTEtMjU3MDU_46023759-9da5-4411-9a0e-532009f575bd"
      unitRef="usd">108000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i68419b283e3245b5bddc37c70a77c86e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzMtMS0xLTEtMjU3MDU_a5f36631-da2b-4027-a14d-5ea490c300cb"
      unitRef="usd">3901000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i592b6fbab13d42a0a1c35286e8dfd74f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzMtMy0xLTEtMjU3MDU_a7c7ccdd-6ebf-47bd-aa28-795afcf9b47e"
      unitRef="usd">3901000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i99e148a08bc0456c848906fbebfe185f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzQtMS0xLTEtMjU3MDU_a1014eb9-4db0-48e2-ad0e-8e6d7d59eb8f"
      unitRef="usd">10935000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="ib479bba47b514633abd2f1f771089e36_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzQtMy0xLTEtMjU3MDU_bd22066f-4308-4793-9e4a-96a7d8b8b603"
      unitRef="usd">10288000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i977d332c075547909f09a8c816384b21_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzUtMS0xLTEtMjU3MDU_6b22830f-1de8-4e1c-8407-8c369ac08c1f"
      unitRef="usd">64556000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="icc70aed6ee6c4bf8bfb4fcbe11dccc1f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzUtMy0xLTEtMjU3MDU_b4aed35e-803b-4d1b-952e-4b1a40a2c64c"
      unitRef="usd">55780000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="ib4ed37a5cd00486d8b6d62de46bbae05_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzYtMS0xLTEtMjU3MDU_f1a05bb1-f00c-4c48-8d22-a3d2c4e5ef82"
      unitRef="usd">248848000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="ibe93295adc2b45f29e2eb6681918581a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzYtMy0xLTEtMjU3MDU_130ed677-9a83-489d-9339-b4feba2e18c0"
      unitRef="usd">223003000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzctMS0xLTEtMjU3MDU_ed41e80d-ddc9-4461-8a5a-5394357f37c4"
      unitRef="usd">328348000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzctMy0xLTEtMjU3MDU_eec80c40-4cb4-4a4a-886e-a776e3b00526"
      unitRef="usd">293080000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzgtMS0xLTEtMjU3MDU_67b8aec0-eaa3-48b6-97c3-aa7e0f0868d7"
      unitRef="usd">222415000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzgtMy0xLTEtMjU3MDU_161347f6-ebe0-4dc7-b5aa-4f365f1f2d97"
      unitRef="usd">189058000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzktMS0xLTEtMjU3MDU_36f513d2-48d4-488a-a142-fd2015a3ad8b"
      unitRef="usd">105933000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZTphMzFiZDQ3NTA4MGQ0ZmMyYjAwZTEyMmY4YTg5ZjZkMC90YWJsZXJhbmdlOmEzMWJkNDc1MDgwZDRmYzJiMDBlMTIyZjhhODlmNmQwXzktMy0xLTEtMjU3MDU_d5ec81d9-525d-4183-a127-db969c14a031"
      unitRef="usd">104022000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <ibp:PropertyPlantAndEquipmentDepreciationAllocationCategoriesTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90ZXh0cmVnaW9uOmU0N2E5OGM3NTA5YzQ2ODlhZjExZDgxYWQxZDQ0NzA3XzM4Mg_b8418f5a-ef7f-41e7-9b33-4badffb5ae8a">&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;We recorded the following depreciation and amortization expense on our property and equipment, by income statement category (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:65.058%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.923%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.454%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;40,938&#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;39,011&#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;36,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Administrative&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,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,939&#160;&lt;/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;</ibp:PropertyPlantAndEquipmentDepreciationAllocationCategoriesTableTextBlock>
    <us-gaap:DepreciationAndAmortization
      contextRef="i6d9ebf8bd02641c1b82c64bf90f3fb45_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZToyY2VjMjg0ZjE0ZTI0NmMxYTQ4MTlmZmI2ZDY1NDNlNC90YWJsZXJhbmdlOjJjZWMyODRmMTRlMjQ2YzFhNDgxOWZmYjZkNjU0M2U0XzItMS0xLTEtMjU3MDU_8f56dd94-ba08-406d-ba4e-fad4d2f7f4fd"
      unitRef="usd">40938000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i0bb68e98fbe74f36bb3857f6dd061db2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZToyY2VjMjg0ZjE0ZTI0NmMxYTQ4MTlmZmI2ZDY1NDNlNC90YWJsZXJhbmdlOjJjZWMyODRmMTRlMjQ2YzFhNDgxOWZmYjZkNjU0M2U0XzItMy0xLTEtMjU3MDU_99c7a47c-8968-4c66-a29b-eb1b35ed8a48"
      unitRef="usd">39011000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i698d5b614c864ce7adb8edc97fda7b1b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZToyY2VjMjg0ZjE0ZTI0NmMxYTQ4MTlmZmI2ZDY1NDNlNC90YWJsZXJhbmdlOjJjZWMyODRmMTRlMjQ2YzFhNDgxOWZmYjZkNjU0M2U0XzItNS0xLTEtMjU3MDU_987ec97e-8d1f-49e1-a6f6-9a6f36b1083b"
      unitRef="usd">36922000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="ic0b253c9485e441ebeeced1dc5f9ece2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZToyY2VjMjg0ZjE0ZTI0NmMxYTQ4MTlmZmI2ZDY1NDNlNC90YWJsZXJhbmdlOjJjZWMyODRmMTRlMjQ2YzFhNDgxOWZmYjZkNjU0M2U0XzMtMS0xLTEtMjU3MDU_81c2d3f7-a654-4783-b165-e77734ada145"
      unitRef="usd">2623000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="iaa6b3542b0324695bcb04b5996d6ac85_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZToyY2VjMjg0ZjE0ZTI0NmMxYTQ4MTlmZmI2ZDY1NDNlNC90YWJsZXJhbmdlOjJjZWMyODRmMTRlMjQ2YzFhNDgxOWZmYjZkNjU0M2U0XzMtMy0xLTEtMjU3MDU_78bc3b2d-9a0e-439d-a8a1-d766c8763225"
      unitRef="usd">2328000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="ie4c61b860ec045a28ac1b818917284e1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90YWJsZToyY2VjMjg0ZjE0ZTI0NmMxYTQ4MTlmZmI2ZDY1NDNlNC90YWJsZXJhbmdlOjJjZWMyODRmMTRlMjQ2YzFhNDgxOWZmYjZkNjU0M2U0XzMtNS0xLTEtMjU3MDU_efbcbbb2-6839-4743-aee7-1daa448bcaf9"
      unitRef="usd">1939000</us-gaap:DepreciationAndAmortization>
    <ibp:PropertyAndEquipmentFullyDepreciatedAssets
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90ZXh0cmVnaW9uOmU0N2E5OGM3NTA5YzQ2ODlhZjExZDgxYWQxZDQ0NzA3XzI5Mg_77763299-0e02-49bd-a290-87d6c99d13bf"
      unitRef="usd">123300000</ibp:PropertyAndEquipmentFullyDepreciatedAssets>
    <ibp:PropertyAndEquipmentFullyDepreciatedAssets
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDMvZnJhZzplNDdhOThjNzUwOWM0Njg5YWYxMWQ4MWFkMWQ0NDcwNy90ZXh0cmVnaW9uOmU0N2E5OGM3NTA5YzQ2ODlhZjExZDgxYWQxZDQ0NzA3XzI5OQ_9c65ce55-6b74-42be-bcc6-6cf5aee9082d"
      unitRef="usd">98000000</ibp:PropertyAndEquipmentFullyDepreciatedAssets>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI5MDk_e73b5681-d0e0-491b-bc7d-dd22f26f872d">GOODWILL AND INTANGIBLES&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The homebuilding industry quickly rebounded from the immediate effects of the COVID-19 pandemic but continues to be affected by other pandemic-related factors that could have long-term impacts, such as reduced employment levels, inflation, rising interest rates, and reduced consumer spending and consumer confidence, any of which could decrease demand for homes and adversely affect our business. As such, we considered whether impairment indicators arose through the date of filing of this Form 10-K for our goodwill, long-lived assets and other intangible assets and concluded that no factors caused us to impair any asset group during the year ended December&#160;31, 2021. While we ultimately concluded that our goodwill, long-lived assets and other intangibles assets were not impaired as of December&#160;31, 2021, we will continue to assess impairment indicators related to the impact of the COVID-19 pandemic on our business.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in carrying amount of goodwill was as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.637%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.593%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.655%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.655%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.657%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;br/&gt;(Gross)&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;Accumulated&lt;br/&gt;Impairment&lt;br/&gt;Losses&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;Goodwill&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;January 1, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;265,656&#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;(70,004)&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;195,652&#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 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;Business combinations&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;21,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;21,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;(87)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;(87)&lt;/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;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,874&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(70,004)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 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;Business combinations&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,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;105,617&#160;&lt;/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;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;30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;30&#160;&lt;/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;December 31, 2021&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;392,521&#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;(70,004)&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;322,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other changes included in the above table primarily include minor adjustments for the allocation of certain acquisitions still under measurement for the years ended December&#160;31, 2021 and 2020. For additional information regarding changes to goodwill resulting from acquisitions, see Note 17, Business Combinations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At October 1, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2021&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;, our measurement date, we tested goodwill for impairment by performing a one-step qualitative assessment in conformity with generally accepted accounting principles and determined that no impairment of goodwill was required. As such, no impairment of goodwill was recognized for the year ended December&#160;31, 2021. In addition, no impairment of goodwill was recognized for the years ended December&#160;31, 2020 or 2019. Accumulated impairment losses included within the above table were incurred over multiple periods, with the latest impairment charge being recorded during the year ended December 31, 2010.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Intangibles, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&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 provides the gross carrying amount, accumulated amortization and net book value for each major class of intangibles (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.732%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.483%"/&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:10.483%"/&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:10.483%"/&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:10.483%"/&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:10.483%"/&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:10.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="33" style="border-bottom: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;As of 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="15" 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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="15" 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:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Book&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #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:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Book&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortized intangibles:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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:#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;292,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;113,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;178,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;197,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;89,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;108,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Covenants not-to-compete&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;27,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,873&#160;&lt;/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;Trademarks and tradenames&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;103,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;4,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,604&#160;&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;446,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;264,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&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;There was no intangible asset impairment loss for the years ended December&#160;31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 gross carrying amount of intangibles increased approximately $130.1 million and $46.4 million during the years ended December&#160;31, 2021 and 2020, respectively. Intangibles associated with business combinations accounted for approximately $130.0 million and $46.2 million of the increases during the years ended December&#160;31, 2021 and 2020, respectively. For more information, see Note 17, Business Combinations. Amortization expense on intangible assets totaled approximately $37.1 million, $28.5 million, and $24.5 million during the years ended December&#160;31, 2021, 2020 and 2019, respectively. Remaining estimated aggregate annual amortization expense is as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:32.017%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.173%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.627%"/&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;2022&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;$41,780&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;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;2023&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,458&#160;&lt;/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;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;33,762&#160;&lt;/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;2025&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;27,440&#160;&lt;/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;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;23,489&#160;&lt;/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;Thereafter&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;100,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI5MTA_629a32f4-ce18-4e34-8a3f-20b31304166d">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in carrying amount of goodwill was as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.637%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.593%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.655%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.655%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.657%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;br/&gt;(Gross)&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;Accumulated&lt;br/&gt;Impairment&lt;br/&gt;Losses&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;Goodwill&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;January 1, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;265,656&#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;(70,004)&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;195,652&#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 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;Business combinations&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;21,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;21,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;(87)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;(87)&lt;/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;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,874&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(70,004)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 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;Business combinations&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,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;105,617&#160;&lt;/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;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;30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;30&#160;&lt;/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;December 31, 2021&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;392,521&#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;(70,004)&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;322,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:GoodwillGross
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzEtMS0xLTEtMjU3MDU_bc64804c-5025-4822-9cbf-ed3e8a820fe6"
      unitRef="usd">265656000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzEtMy0xLTEtMjU3MDU_7ea797b5-d5c8-482a-939f-c539afd2cf2c"
      unitRef="usd">70004000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzEtNS0xLTEtMjU3MDU_dd4209c7-f84d-4e14-86fc-021d32413aaf"
      unitRef="usd">195652000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzItMS0xLTEtMjU3MDU_54ec7370-316b-4c5f-8237-9eca673ac5b1"
      unitRef="usd">21305000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzItNS0xLTEtMjU3MDU_0c1eefdf-ab33-4a14-916c-811f91506551"
      unitRef="usd">21305000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillOtherIncreaseDecrease
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzMtMS0xLTEtMjU3MDU_d91ec2cf-4603-4c68-ae86-48b2d3173d9e"
      unitRef="usd">-87000</us-gaap:GoodwillOtherIncreaseDecrease>
    <us-gaap:GoodwillOtherIncreaseDecrease
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzMtNS0xLTEtMjU3MDU_d4341510-991f-4c6f-93d9-720b81c56224"
      unitRef="usd">-87000</us-gaap:GoodwillOtherIncreaseDecrease>
    <us-gaap:GoodwillGross
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzQtMS0xLTEtMjU3MDU_2d543a50-cafd-4f21-ad94-53a36c7112d7"
      unitRef="usd">286874000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzQtMy0xLTEtMjU3MDU_260edece-0808-4e9c-8767-533e8c4cea71"
      unitRef="usd">70004000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzQtNS0xLTEtMjU3MDU_b820c94a-c4ba-4703-8a7c-43f9bac9722a"
      unitRef="usd">216870000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzUtMS0xLTEtMjU3MDU_06167867-5289-4c62-a686-05b8741e162f"
      unitRef="usd">105617000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzUtNS0xLTEtMjU3MDU_90e5c5f2-74ee-4715-ae6d-db10ab9d33e8"
      unitRef="usd">105617000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillOtherIncreaseDecrease
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzYtMS0xLTEtMjU3MDU_6b998bb7-0b19-42b8-a156-c9fd39e8def4"
      unitRef="usd">30000</us-gaap:GoodwillOtherIncreaseDecrease>
    <us-gaap:GoodwillOtherIncreaseDecrease
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzYtNS0xLTEtMjU3MDU_dd9d9e1f-b69a-479b-9852-106b99e7fc1d"
      unitRef="usd">30000</us-gaap:GoodwillOtherIncreaseDecrease>
    <us-gaap:GoodwillGross
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzctMS0xLTEtMjU3MDU_30d5ef04-06b9-47e4-9c5d-9523072dac31"
      unitRef="usd">392521000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzctMy0xLTEtMjU3MDU_cc767421-7d21-4da8-9732-bffa02b92c8c"
      unitRef="usd">70004000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTpmMDYzNzEyMmUyMTI0NTg5YWZlZGUxMmM1MTIwMTI4My90YWJsZXJhbmdlOmYwNjM3MTIyZTIxMjQ1ODlhZmVkZTEyYzUxMjAxMjgzXzctNS0xLTEtMjU3MDU_ac75add1-4b56-42e4-ba20-e2bbb1c1349f"
      unitRef="usd">322517000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzE3NjQ_ead10b79-2cbe-4988-a272-94b08caccbde"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzE4NDE_70db1810-7335-4e46-8fee-b7a4c1c95434"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzE4NDE_ca982c34-30d4-447a-9903-0497cc048ec3"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI5MTE_63bdaca3-bf77-4bae-9973-619e3e93e61e">&lt;div style="margin-top:7pt"&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 provides the gross carrying amount, accumulated amortization and net book value for each major class of intangibles (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.732%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.483%"/&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:10.483%"/&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:10.483%"/&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:10.483%"/&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:10.483%"/&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:10.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="33" style="border-bottom: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;As of 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="15" 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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="15" 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:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Book&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #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:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Book&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortized intangibles:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'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:#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;292,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;113,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;178,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;197,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;89,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;108,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Covenants not-to-compete&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;27,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,873&#160;&lt;/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;Trademarks and tradenames&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;103,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;4,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,604&#160;&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;446,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;264,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iab9664d6222046958f491093a96493de_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzQtMS0xLTEtMjU3MDU_34ac4e8b-ceb6-45c5-8764-fe0144fbadca"
      unitRef="usd">292113000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iab9664d6222046958f491093a96493de_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzQtMy0xLTEtMjU3MDU_1764b74a-d728-48b2-a22c-b8238a3e58fe"
      unitRef="usd">113849000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iab9664d6222046958f491093a96493de_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzQtNS0xLTEtMjU3MDU_dabdd188-c7f0-427d-87cc-fb151544326c"
      unitRef="usd">178264000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i805319171b5849b8acf58337e96f048c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzQtNy0xLTEtMjU3MDU_4c8c036a-7a67-4529-9e63-a72c5fefd9c8"
      unitRef="usd">197641000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i805319171b5849b8acf58337e96f048c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzQtOS0xLTEtMjU3MDU_fad1f142-6510-4cbb-8d32-9120529112ac"
      unitRef="usd">89137000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i805319171b5849b8acf58337e96f048c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzQtMTEtMS0xLTI1NzA1_2080a915-92bd-4804-85fe-e6953b16549a"
      unitRef="usd">108504000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ica87490176604f7a90703ba7176ad4fd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzUtMS0xLTEtMjU3MDU_5ff99347-337f-4be3-bc72-25a0203a44d9"
      unitRef="usd">27717000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ica87490176604f7a90703ba7176ad4fd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzUtMy0xLTEtMjU3MDU_bac8a8f7-e6e2-4e31-8a36-b6e84338b609"
      unitRef="usd">16471000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ica87490176604f7a90703ba7176ad4fd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzUtNS0xLTEtMjU3MDU_2b2ff666-fdd6-439e-87d9-e126eb6a7888"
      unitRef="usd">11246000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id1e69b3102364ee3a353ad3afa0776f9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzUtNy0xLTEtMjU3MDU_ec90b86a-213a-494b-8f36-a5f33b6fb994"
      unitRef="usd">20309000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id1e69b3102364ee3a353ad3afa0776f9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzUtOS0xLTEtMjU3MDU_83c4d7e0-269b-4588-a2a8-b121bfcbda2d"
      unitRef="usd">13436000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id1e69b3102364ee3a353ad3afa0776f9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzUtMTEtMS0xLTI1NzA1_af914c0a-0c36-49b7-b1a9-9882fea284cc"
      unitRef="usd">6873000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i89ec9f1bedcb4d828b2adcefbab51be5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzYtMS0xLTEtMjU3MDU_e3a72890-50fe-46e9-873d-089b99e997d3"
      unitRef="usd">103007000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i89ec9f1bedcb4d828b2adcefbab51be5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzYtMy0xLTEtMjU3MDU_a7fea04f-a77a-4918-b0fc-830fb1be5145"
      unitRef="usd">32623000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i89ec9f1bedcb4d828b2adcefbab51be5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzYtNS0xLTEtMjU3MDU_34eee8f4-e3e3-4620-a01b-30dd749bfc4b"
      unitRef="usd">70384000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i3a5ff38b2f184b2fa96999968f33a728_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzYtNy0xLTEtMjU3MDU_adfd3f42-9f5b-49bb-9b7f-eec6b93ff010"
      unitRef="usd">79657000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3a5ff38b2f184b2fa96999968f33a728_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzYtOS0xLTEtMjU3MDU_888c37c4-aaba-40bf-bbe3-8d37e32e7933"
      unitRef="usd">27245000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i3a5ff38b2f184b2fa96999968f33a728_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzYtMTEtMS0xLTI1NzA1_117ec0fb-1cae-4408-a0fb-977e1a5f6998"
      unitRef="usd">52412000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i2928b7c420c443c490849f4d7d7f21d2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzctMS0xLTEtMjU3MDU_6462a138-7cb2-41a9-8f7f-accd15f4995c"
      unitRef="usd">23724000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i2928b7c420c443c490849f4d7d7f21d2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzctMy0xLTEtMjU3MDU_8dde8deb-ad3a-4a96-bbd8-cd7b42157637"
      unitRef="usd">19197000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i2928b7c420c443c490849f4d7d7f21d2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzctNS0xLTEtMjU3MDU_4cda74ae-0e58-4a99-a05b-f67c7956f881"
      unitRef="usd">4527000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iba7c2853762f4e588a8ea659950d977f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzctNy0xLTEtMjU3MDU_1ce370af-269b-4949-b79c-7d9daf21d36a"
      unitRef="usd">18847000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iba7c2853762f4e588a8ea659950d977f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzctOS0xLTEtMjU3MDU_cfa97ed7-e31f-40dc-9c8b-afbb6236072c"
      unitRef="usd">15243000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iba7c2853762f4e588a8ea659950d977f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzctMTEtMS0xLTI1NzA1_2ae8bf15-904a-46cf-93dd-924677749052"
      unitRef="usd">3604000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzgtMS0xLTEtMjU3MDU_1457c17d-5122-4a55-8654-11d652ad4f33"
      unitRef="usd">446561000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzgtMy0xLTEtMjU3MDU_531c8a36-3164-486f-83c3-7fc09a85ed99"
      unitRef="usd">182140000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzgtNS0xLTEtMjU3MDU_a3034a65-2b48-4440-8d79-87c606c1b15a"
      unitRef="usd">264421000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzgtNy0xLTEtMjU3MDU_b67e391c-72bd-438a-aad1-d218bddde988"
      unitRef="usd">316454000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzgtOS0xLTEtMjU3MDU_77fee147-5cc5-4b8f-b6b9-06414a421622"
      unitRef="usd">145061000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo2ZDZkN2UzMWE2OWY0NDFlYTg1ZjU2ZDk2Yzk4MGE0Mi90YWJsZXJhbmdlOjZkNmQ3ZTMxYTY5ZjQ0MWVhODVmNTZkOTZjOTgwYTQyXzgtMTEtMS0xLTI1NzA1_04c74288-bc4e-4053-9207-004230c79e09"
      unitRef="usd">171393000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzIyODQ_1d5b2d95-150f-4214-bf07-6ce753ee1312"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzIyODQ_a10afdbe-c78a-4cb7-a8af-33a48a2b7fca"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzIyODQ_f6fd4e01-45dc-4c59-9739-c688915d307e"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:FiniteLivedIntangibleAssetsPeriodIncreaseDecrease
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI0MjE_f33cf882-278d-49a0-9adf-2b5331677b4e"
      unitRef="usd">130100000</us-gaap:FiniteLivedIntangibleAssetsPeriodIncreaseDecrease>
    <us-gaap:FiniteLivedIntangibleAssetsPeriodIncreaseDecrease
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI0Mjg_8b0e3355-f805-41a7-9cca-04715a477f11"
      unitRef="usd">46400000</us-gaap:FiniteLivedIntangibleAssetsPeriodIncreaseDecrease>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI1NTc_0a1d3c80-09bb-48c3-bfba-034835cd9612"
      unitRef="usd">130000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI1NjQ_6d20865a-7f28-4f2c-94c1-4a161bf49ef2"
      unitRef="usd">46200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI3NTQ_836b7a36-1697-41f9-8423-c8c85bd98652"
      unitRef="usd">37100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI3NjE_e24cb909-473b-4294-9f2d-628145d28404"
      unitRef="usd">28500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI3NjU_42dcec0c-e867-464f-a425-8df8120c2abd"
      unitRef="usd">24500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90ZXh0cmVnaW9uOmI0NGIxZDhiZWJjMDQ5MGM5NTAwNjE0YWI3OWEyMjRhXzI5MTI_09633404-7445-477d-9ca3-44332844d28b">Remaining estimated aggregate annual amortization expense is as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:32.017%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.173%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.627%"/&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;2022&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;$41,780&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;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;2023&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,458&#160;&lt;/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;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;33,762&#160;&lt;/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;2025&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;27,440&#160;&lt;/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;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;23,489&#160;&lt;/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;Thereafter&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;100,492&#160;&lt;/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;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo1OTE4Y2NiY2NmNTQ0NTRiOTUyNmQ5ZWU1NDE0MWIxZS90YWJsZXJhbmdlOjU5MThjY2JjY2Y1NDQ1NGI5NTI2ZDllZTU0MTQxYjFlXzAtMS0xLTEtMjU3MDU_b8d0338c-3e07-4d32-b68b-70fbf7c6cca3"
      unitRef="usd">41780000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo1OTE4Y2NiY2NmNTQ0NTRiOTUyNmQ5ZWU1NDE0MWIxZS90YWJsZXJhbmdlOjU5MThjY2JjY2Y1NDQ1NGI5NTI2ZDllZTU0MTQxYjFlXzEtMS0xLTEtMjU3MDU_918c263e-437c-49ac-bf11-66dd40c7e6c5"
      unitRef="usd">37458000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo1OTE4Y2NiY2NmNTQ0NTRiOTUyNmQ5ZWU1NDE0MWIxZS90YWJsZXJhbmdlOjU5MThjY2JjY2Y1NDQ1NGI5NTI2ZDllZTU0MTQxYjFlXzItMS0xLTEtMjU3MDU_be9c23b6-270f-4270-866e-3fe9df930870"
      unitRef="usd">33762000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo1OTE4Y2NiY2NmNTQ0NTRiOTUyNmQ5ZWU1NDE0MWIxZS90YWJsZXJhbmdlOjU5MThjY2JjY2Y1NDQ1NGI5NTI2ZDllZTU0MTQxYjFlXzMtMS0xLTEtMjU3MDU_1210997a-c9d8-4f7a-b2a7-040f5f0ba673"
      unitRef="usd">27440000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo1OTE4Y2NiY2NmNTQ0NTRiOTUyNmQ5ZWU1NDE0MWIxZS90YWJsZXJhbmdlOjU5MThjY2JjY2Y1NDQ1NGI5NTI2ZDllZTU0MTQxYjFlXzQtMS0xLTEtMjU3MDU_9bb81185-1bf6-45eb-80f4-0222a1fb2625"
      unitRef="usd">23489000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDYvZnJhZzpiNDRiMWQ4YmViYzA0OTBjOTUwMDYxNGFiNzlhMjI0YS90YWJsZTo1OTE4Y2NiY2NmNTQ0NTRiOTUyNmQ5ZWU1NDE0MWIxZS90YWJsZXJhbmdlOjU5MThjY2JjY2Y1NDQ1NGI5NTI2ZDllZTU0MTQxYjFlXzUtMS0xLTEtMjU3MDU_e1df5bc1-aad0-435f-9005-6e5a4532857d"
      unitRef="usd">100492000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:LongTermDebtTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4Xzc0ODg_65ba977f-ca5f-4bc5-b4d0-7c9f282378ee">LONG-TERM DEBT&lt;div style="margin-top:7pt"&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 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:400;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Senior Notes due 2028, net of unamortized debt issuance costs of $3,633 and $4,230, respectively&lt;/span&gt;&lt;/div&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;296,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;295,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&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, net of unamortized debt issuance costs of $6,735 and $1,343, respectively&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;493,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;198,657&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vehicle and equipment notes, maturing through December 2026; payable in various monthly installments, including interest rates ranging from 1.9% to 4.8% &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;69,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various notes payable, maturing through March 2025; payable in various monthly installments, including interest rates ranging from 1.0% to 5.0%&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;4,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;863,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;565,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current maturities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,839)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,355)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt, less current maturities&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;832,193&#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;541,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Remaining required repayments of debt principal, gross of unamortized debt issuance costs, as of December&#160;31, 2021 are as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:32.163%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.446%"/&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;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;$30,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:top"/&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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;24,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,098&#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;/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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;15,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,013&#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;/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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;775,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;5.75% Senior Notes due 2028&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2019, we issued $300.0 million in aggregate principal amount of 5.75% senior unsecured notes (the &#x201c;Senior Notes&#x201d;). The Senior Notes will mature on February&#160;1, 2028 and interest is payable semi-annually in cash in arrears on February 1 and August 1, commencing on February&#160;1, 2020. The net proceeds from the Senior Notes offering were $295.0 million after debt issuance costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The indenture covering the Senior Notes contains restrictive covenants that, among other things, limit the ability of the Company and certain of our subsidiaries (subject to certain exceptions) to: (i) incur additional debt and issue preferred stock; (ii) pay dividends on, redeem or repurchase stock in an aggregate amount exceeding 2.0% of market capitalization per fiscal year, or in an aggregate amount exceeding certain applicable restricted payment baskets; (iii) prepay subordinated debt; (iv) create liens; (v) make specified types of investments; (vi) apply net proceeds from certain asset sales; (vii) engage in &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;transactions with affiliates; (viii) merge, consolidate or sell substantially all of our assets; and (ix) pay dividends and make other distributions from subsidiaries.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Credit Facilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we entered into a new $500 million, seven-year term loan facility due December 2028 (the &#x201c;Term Loan&#x201d;) under our credit agreement (the &#x201c;Term Loan Agreement&#x201d;), dated as of December 14, 2021 with Royal Bank of Canada as the administrative agent and collateral agent thereunder. The Term Loan amortizes in quarterly principal payments of $1.25&#160;million starting on March 31, 2022, with any remaining unpaid balances due on the maturity date of December 14, 2028. The Term Loan bears interest at either the base rate (which approximates the prime rate) or the Eurodollar rate, plus a margin of (A) 1.25% in the case of base rate loans or (B) 2.25% in the case of Eurodollar rate loans. Proceeds from the Term Loan were used to refinance and repay in full all amounts outstanding under our previous term loan agreement. We intend to use the remaining funds to pay for certain fees and expenses associated with the closing of the Term Loan and for general corporate purposes, including acquisitions and other growth initiatives. As of December&#160;31, 2021, we had $493.3 million, net of unamortized debt issuance costs, due on our Term Loan. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Subject to certain exceptions, the Term Loan will be subject to mandatory prepayments of (i) 100% of the net cash proceeds from issuances or incurrence of debt by the Company or any of its restricted subsidiaries (other than with respect to certain permitted indebtedness (excluding any refinancing indebtedness); (ii) 100% (with step-downs to 50% and 0% based on achievement of specified net leverage ratios) of the net cash proceeds from certain sales or dispositions of assets by the Company or any of its restricted subsidiaries in excess of a certain amount and subject to reinvestment provision and certain other exception; and (iii) 50% (with step-downs to 25% and 0% based upon achievement of specified net leverage ratios) of excess cash flow of the Company and its restricted subsidiaries in excess of $15&#160;million, subject to certain exceptions and limitations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2019, we entered into an asset-based lending credit agreement (the &#x201c;ABL Credit Agreement&#x201d;). The ABL Credit Agreement provides for an asset-based lending credit facility (the &#x201c;ABL Revolver&#x201d;) of up to $200.0 million with a five-year maturity. Borrowing availability under the ABL Revolver is based on a percentage of the value of certain assets securing the Company&#x2019;s obligations and those of the subsidiary guarantors thereunder. In connection with the Term Loan Agreement, we entered into a Third Amendment (the &#x201c;Third Amendment&#x201d;) to the Third ABL/Term Loan Intercreditor Agreement with Bank of America, N.A., as ABL Agent for the lenders under the ABL Credit Agreement, and Royal Bank of Canada as collateral agent under the Term Loan Agreement. Including outstanding letters of credit, our remaining availability under the ABL Revolver as of December&#160;31, 2021 was $155.7 million. In February 2022, we amended and extended our ABL Credit Agreement. See Note 19, Subsequent Events, for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All of the obligations under the Term Loan and ABL Revolver are guaranteed by all of the Company&#x2019;s existing restricted subsidiaries and will be guaranteed by the Company&#x2019;s future restricted subsidiaries. Additionally, all obligations under the Term Loan and ABL Revolver, and the guarantees of those obligations, are secured by substantially all of the assets of the Company and the guarantors, subject to certain exceptions and permitted liens, including a first-priority security interest in such assets that constitute ABL Priority Collateral, as defined in the ABL Credit Agreement, and a second- priority security interest in such assets that constitute Term Loan Priority Collateral, as defined in the Term Loan Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 Revolver bears interest at either the Eurodollar rate or the base rate (which approximated the prime rate), at the Company&#x2019;s election, plus a margin of (A) 1.25% or 1.50% in the case of Eurodollar rate loans (based on a measure of availability under the ABL Credit Agreement) and (B) 0.25% or 0.50% in the case of base rate loans (based on a measure of availability under the ABL Credit Agreement).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 Revolver also provides incremental revolving credit facility commitments of up to $50.0 million. The terms and conditions of any incremental revolving credit facility commitments must be no more favorable than the terms of the ABL Revolver. The ABL Revolver also allows for the issuance of letters of credit of up to $75.0 million in aggregate and borrowing of swingline loans of up to $20.0 million in aggregate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 contains a financial covenant&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; requiring the satisfaction of a minimum fixed charge coverage ratio of 1.0x in the event that we do not meet a minimum measure of availability under the ABL Revolver. &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;The ABL Credit Agreement and the Term Loan Agreement contain restrictive covenants that, among other things, limit the ability of the Company and certain of our subsidiaries (subject to certain exceptions) to: (i) incur additional debt and issue preferred stock; (ii) pay dividends on, redeem or repurchase stock in an aggregate amount exceeding 2.0% of market capitalization per fiscal year, or in an aggregate amount exceeding certain applicable restricted payment baskets; (iii) prepay subordinated debt; (iv) &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;create liens; (v) make specified types of investments; (vi) apply net proceeds from certain asset sales; (vii) engage in transactions with affiliates; (viii) merge, consolidate or sell substantially all of our assets; and (ix) pay dividends and make other distributions from subsidiaries.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Vehicle and Equipment Notes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are party to a Master Loan and Security Agreement (&#x201c;Master Loan and Security Agreement&#x201d;), a Master Equipment Lease Agreement (&#x201c;Master Equipment Agreement&#x201d;) and one or more Master Loan Agreements (&#x201c;Master Loan Agreements&#x201d; and together with the Master Loan and Security Agreement and Master Equipment Agreement the &#x201c;Master Loan Equipment Agreements&#x201d;) with various lenders to provide financing for the purpose of purchasing or leasing vehicles and equipment used in the normal course of business. Each financing arrangement under these agreements constitutes a separate note and obligation. Vehicles and equipment purchased or leased under each financing arrangement serve as collateral for the note applicable to such financing arrangement. Regular payments are due under each note for a period of typically 60 consecutive months after the incurrence of the obligation. The specific terms of each note are based on specific criteria, including the type of vehicle or equipment and the market interest rates at the time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total gross assets relating to our Master Loan and Equipment Agreements were $134.5 million and $132.2 million as of December&#160;31, 2021 and 2020, respectively. The net book value of assets under these agreements was $65.3 million and $65.7 million as of December&#160;31, 2021 and 2020, respectively. Depreciation of assets held under these agreements is included within cost of sales on the Consolidated Statements of Operations and Comprehensive Income.&lt;/span&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4Xzc0ODk_95684f35-7951-493e-b5db-0c57c1a42647">&lt;div style="margin-top:7pt"&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 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:400;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Senior Notes due 2028, net of unamortized debt issuance costs of $3,633 and $4,230, respectively&lt;/span&gt;&lt;/div&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;296,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;295,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&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, net of unamortized debt issuance costs of $6,735 and $1,343, respectively&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;493,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;198,657&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vehicle and equipment notes, maturing through December 2026; payable in various monthly installments, including interest rates ranging from 1.9% to 4.8% &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;69,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various notes payable, maturing through March 2025; payable in various monthly installments, including interest rates ranging from 1.0% to 5.0%&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;4,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;863,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;565,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current maturities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,839)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,355)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt, less current maturities&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;832,193&#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;541,957&#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:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="icd2550519f924a959423828b24adbc33_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzItMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo2NzI1ZGQ0N2NlY2I0MDdmYTg4NTc4Y2QzMjU4ZWUzN182OQ_b7dccd5a-a0ee-43cd-9149-963769ac4a61"
      unitRef="usd">3633000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="idce6bbda87a04614a7f74b2da6b474ff_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzItMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo2NzI1ZGQ0N2NlY2I0MDdmYTg4NTc4Y2QzMjU4ZWUzN183Ng_43670137-ae13-43ed-bf04-ded61f220b4f"
      unitRef="usd">4230000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:LongTermDebt
      contextRef="icd2550519f924a959423828b24adbc33_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzItMS0xLTEtMjU3MDU_00d77da6-e1ad-42bc-a5c4-c26af44519a5"
      unitRef="usd">296367000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="idce6bbda87a04614a7f74b2da6b474ff_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzItMy0xLTEtMjU3MDU_bf7dae9a-2d21-4529-948c-e9d0ed5d27b7"
      unitRef="usd">295770000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i512520946ca842d598433f5d3eb6d014_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzMtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3YWFjMDc5YzRkMjA0NGNkODI5OTZhNjAwZmZiZWQ0MV81Nw_b20771ea-fde6-48e5-b89c-77afd6a9d40c"
      unitRef="usd">6735000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i004faa87ec7546f29ee3d001654ae1b4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzMtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjo3YWFjMDc5YzRkMjA0NGNkODI5OTZhNjAwZmZiZWQ0MV82NA_943ea160-b594-4361-8962-a183beff2908"
      unitRef="usd">1343000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:LongTermDebt
      contextRef="i512520946ca842d598433f5d3eb6d014_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzMtMS0xLTEtMjU3MDU_f5d3e4aa-a7d5-4472-95a7-85550548c1fe"
      unitRef="usd">493265000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i004faa87ec7546f29ee3d001654ae1b4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzMtMy0xLTEtMjU3MDU_9cac0bee-93ed-4c48-80a5-3c4dab38c4c8"
      unitRef="usd">198657000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ib1db73aeb92f4af4b1fbcff24891535f_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjplNWU3MjY3NWEyZmI0ZGJmOTY1YWQwNWRlZDMwYjBjY18xMzM_b5203a12-0b19-4b84-abb8-abc9ab9f6ceb"
      unitRef="number">0.019</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="id8ce4a5dc42a480fbf2a443c7714f94f_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzQtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjplNWU3MjY3NWEyZmI0ZGJmOTY1YWQwNWRlZDMwYjBjY18xMzk_c7f3937f-a674-4f42-9758-221fbeaaee57"
      unitRef="number">0.048</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="i731080197bfe4eac946b59ee51da9c93_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzQtMS0xLTEtMjU3MDU_140a95ed-e637-40f4-84af-58407905115d"
      unitRef="usd">69228000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ib18de9f81179464d98bde0e57ae4d2f7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzQtMy0xLTEtMjU3MDU_318e65f7-8a81-4762-bc1b-ef9efd0c4251"
      unitRef="usd">67493000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="iaa9553eba1f1435bb548daa18df71e70_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjpkYjlkMDk1ZWVkZDI0NzJhOGQ1NjY4YmRhZWIxZTM2Zl8xMjc_c60c7fc0-9ef1-49dd-8d21-ba00d7caef18"
      unitRef="number">0.010</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i41f7b4032dee4044b6e9a84344237a6c_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzUtMC0xLTEtMjU3MDUvdGV4dHJlZ2lvbjpkYjlkMDk1ZWVkZDI0NzJhOGQ1NjY4YmRhZWIxZTM2Zl8xMzM_ed4e564f-3d5d-4e2d-b87e-790669c79cd8"
      unitRef="number">0.050</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="i9f371bd0a4354a8782949ecf75a41732_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzUtMS0xLTEtMjU3MDU_50440ec3-bf54-4dde-93b2-bf6c5ed255aa"
      unitRef="usd">4172000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i0b7ad0389a574a2c888ef022fa2a4584_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzUtMy0xLTEtMjU3MDU_c9b17967-c06e-454c-8aeb-74a7d5b5f647"
      unitRef="usd">3392000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzYtMS0xLTEtMjU3MDU_b2482993-b1b4-4b0d-a961-49d19d2c640f"
      unitRef="usd">863032000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzYtMy0xLTEtMjU3MDU_bf38b53b-542c-4ff5-931a-501db3859b0c"
      unitRef="usd">565312000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzctMS0xLTEtMjU3MDU_d96b7430-2378-479a-b5e7-7eae53b31bfd"
      unitRef="usd">30839000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzctMy0xLTEtMjU3MDU_ddb5a9ff-6081-4455-9d27-1e7c291e5357"
      unitRef="usd">23355000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzgtMS0xLTEtMjU3MDU_cbfd9d20-4a66-468b-9363-ddac4d49b22e"
      unitRef="usd">832193000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTplNDcxMThlOWM0NzY0ZTVhYjE4NWYyMTdkM2MwNjdjNC90YWJsZXJhbmdlOmU0NzExOGU5YzQ3NjRlNWFiMTg1ZjIxN2QzYzA2N2M0XzgtMy0xLTEtMjU3MDU_a07789f7-d2d7-44b4-b391-3942d4b8a736"
      unitRef="usd">541957000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4Xzc0ODQ_afe37bb4-b90c-499c-8f36-3b8c53f3025f">&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;Remaining required repayments of debt principal, gross of unamortized debt issuance costs, as of December&#160;31, 2021 are as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:32.163%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.446%"/&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;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;$30,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:top"/&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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;24,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,098&#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;/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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;15,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,013&#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;/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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;775,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTo3N2ZmOWJkODA3Nzc0ZmFjYTM0NDg1NDgzOTljYTIwNi90YWJsZXJhbmdlOjc3ZmY5YmQ4MDc3NzRmYWNhMzQ0ODU0ODM5OWNhMjA2XzAtMS0xLTEtMjU3MDU_31c8e9fc-2d69-4692-ad63-699ae7440ed8"
      unitRef="usd">30839000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTo3N2ZmOWJkODA3Nzc0ZmFjYTM0NDg1NDgzOTljYTIwNi90YWJsZXJhbmdlOjc3ZmY5YmQ4MDc3NzRmYWNhMzQ0ODU0ODM5OWNhMjA2XzEtMS0xLTEtMjU3MDU_a6cf1e12-acfe-4b92-8bb4-1327361bafeb"
      unitRef="usd">24850000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTo3N2ZmOWJkODA3Nzc0ZmFjYTM0NDg1NDgzOTljYTIwNi90YWJsZXJhbmdlOjc3ZmY5YmQ4MDc3NzRmYWNhMzQ0ODU0ODM5OWNhMjA2XzItMS0xLTEtMjU3MDU_d094e9a2-07cf-4b6e-9b7c-b2d391f4d693"
      unitRef="usd">19098000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTo3N2ZmOWJkODA3Nzc0ZmFjYTM0NDg1NDgzOTljYTIwNi90YWJsZXJhbmdlOjc3ZmY5YmQ4MDc3NzRmYWNhMzQ0ODU0ODM5OWNhMjA2XzMtMS0xLTEtMjU3MDU_63f9ff6d-45b5-42b4-882b-3faa722d8aa3"
      unitRef="usd">15600000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTo3N2ZmOWJkODA3Nzc0ZmFjYTM0NDg1NDgzOTljYTIwNi90YWJsZXJhbmdlOjc3ZmY5YmQ4MDc3NzRmYWNhMzQ0ODU0ODM5OWNhMjA2XzQtMS0xLTEtMjU3MDU_ebc183d7-0e30-4592-b730-16675de7b24f"
      unitRef="usd">8013000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90YWJsZTo3N2ZmOWJkODA3Nzc0ZmFjYTM0NDg1NDgzOTljYTIwNi90YWJsZXJhbmdlOjc3ZmY5YmQ4MDc3NzRmYWNhMzQ0ODU0ODM5OWNhMjA2XzUtMS0xLTEtMjU3MDU_c25a3864-4dad-4093-8d1d-7de5e9de8a7d"
      unitRef="usd">775000000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="icd2550519f924a959423828b24adbc33_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIyNA_743b9689-6592-43fa-a340-d26e9e56033e"
      unitRef="number">0.0575</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="if379e9528e334b808b44a2cc90b3aa22_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzI3OA_6265f63c-30ef-44f5-ace6-82b07c06bdac"
      unitRef="usd">300000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="if379e9528e334b808b44a2cc90b3aa22_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzMxNA_39c8fe10-c3f1-4908-97b1-ffba9bfe23bc"
      unitRef="number">0.0575</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ProceedsFromDebtNetOfIssuanceCosts
      contextRef="i5fc8c91f51574ef1a0249c221bb24a10_D20190901-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzU0Nw_16293f72-7310-4237-8bc3-22792951e401"
      unitRef="usd">295000000</us-gaap:ProceedsFromDebtNetOfIssuanceCosts>
    <ibp:DebtInstrumentCovenantMarketCapitalizationThreshold
      contextRef="i5fc8c91f51574ef1a0249c221bb24a10_D20190901-20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzExOTU_c9ad9a6a-7b48-4839-9629-ec13cdbe50b9"
      unitRef="number">0.020</ibp:DebtInstrumentCovenantMarketCapitalizationThreshold>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i3fcceeb132b946aea977e7bc7e00d1ef_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQ5NDc4MDIzMzM5MDg_d1b16c9b-5d29-4aca-a7be-36e98c811411"
      unitRef="usd">500000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="iaf62d8b1cdbf44c7a4918db623df9dae_D20191217-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4Xzc0ODY_fbe9ee32-1f8f-456f-86ab-f083bd520e70">P7Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentPeriodicPaymentPrincipal
      contextRef="i71944f175d30407fa8f5488c6f6e15a9_D20211201-20211231"
      decimals="-4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkyNjI_00d33834-926d-4e00-93c6-2a7879b85176"
      unitRef="usd">1250000</us-gaap:DebtInstrumentPeriodicPaymentPrincipal>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="iaf62d8b1cdbf44c7a4918db623df9dae_D20191217-20191231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQ5NDc4MDIzMzQ3OTM_0ec59826-cb1f-44e2-be19-6f83c3e8728c"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i200775719f0049178fe671b9392565cc_D20191217-20191231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxMjg_392c6491-48c1-4b91-a510-c3ed3c888167"
      unitRef="number">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i3fcceeb132b946aea977e7bc7e00d1ef_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIyNzU_c8d33e4b-0c23-4726-bed9-5ea0f9b2c57a"
      unitRef="usd">493300000</us-gaap:DeferredFinanceCostsNet>
    <ibp:DebtInstrumentPrepaymentsPercentageOfNetCashProceeds
      contextRef="i71944f175d30407fa8f5488c6f6e15a9_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkyNzc_7241a6c9-66eb-48a1-974e-8fbb95b68be0"
      unitRef="number">1</ibp:DebtInstrumentPrepaymentsPercentageOfNetCashProceeds>
    <ibp:DebtInstrumentPrepaymentsPercentageOfNetCashProceeds
      contextRef="i71944f175d30407fa8f5488c6f6e15a9_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkyODM_3d35b09f-d32e-44fe-b546-c90bde5ef51d"
      unitRef="number">1</ibp:DebtInstrumentPrepaymentsPercentageOfNetCashProceeds>
    <ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds
      contextRef="i8557b0d7b40747b9b5d8e7b09d55929f_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkyODk_a2836e46-6db7-4e8f-8a3e-32fbb9ba31bf"
      unitRef="number">0.50</ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds>
    <ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds
      contextRef="i320b617e755e46b1ab5d049502c016ca_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkyOTQ_80c934b2-9347-490a-b418-c2a7d483ab53"
      unitRef="number">0</ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds>
    <ibp:DebtInstrumentPrepaymentsPercentageOfNetCashProceeds2
      contextRef="i71944f175d30407fa8f5488c6f6e15a9_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkzMDM_52e8cc94-64fc-4d9f-8692-034b49bf255d"
      unitRef="number">0.50</ibp:DebtInstrumentPrepaymentsPercentageOfNetCashProceeds2>
    <ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds2
      contextRef="i8557b0d7b40747b9b5d8e7b09d55929f_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkzMDg_17cfd45a-fb63-40fe-823e-cffc0d843111"
      unitRef="number">0.25</ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds2>
    <ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds2
      contextRef="i320b617e755e46b1ab5d049502c016ca_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkzMTM_f18b9d4e-9f4f-46b9-8f01-23e8a1d92056"
      unitRef="number">0</ibp:DebtInstrumentPrepaymentsStepDownPercentageOfNetCashProceeds2>
    <ibp:DebtInstrumentMaximumCashProceeds
      contextRef="i71944f175d30407fa8f5488c6f6e15a9_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzIxOTkwMjMyNjkzMTg_81467209-dab5-4e1b-9e35-14c9dbe423ec"
      unitRef="usd">15000000</ibp:DebtInstrumentMaximumCashProceeds>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i9923897528694bb6ae1cc2e0df494272_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzI2MzU_82613213-74c1-4209-b0b3-afc1d7a1d02b"
      unitRef="usd">200000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentTerm
      contextRef="i26318cc1635a4cf688168bf9fee32441_D20190901-20190930"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4Xzc0ODc_ac697cae-bb7a-4e95-929e-5dbc1e4c2dbe">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ibfa6278bb9ae4671afc1a3a005759422_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzMzNzM_f5f348e3-d5c1-429f-a44a-d6a1163b35f9"
      unitRef="usd">155700000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i85f025bd87c8409b9c57e443b5fbe2f4_D20190901-20190930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQyNzI_02c8769e-4be3-449f-93c2-485f292a73de"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i2125806fc35c46a3978173dd7bffb5dc_D20190901-20190930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQyNzg_cd8b53eb-441c-4bd1-a2fa-bd38f55487f3"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i26c9d2ff0f1a435e81d31ad6634893d5_D20190901-20190930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQzOTQ_07326134-b688-4c34-949c-13f9e1052713"
      unitRef="number">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i3230d2d1c8ee410ca783758e15c2970a_D20190901-20190930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQ0MDA_46840f65-5c60-48a3-8db5-73951eb0d601"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i7f2f103e5f854616a6e847ed344b717c_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQ1OTQ_ba447b92-2015-4ef5-af93-299e79ef7285"
      unitRef="usd">50000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i9e785595e2fc4cb9bb7d410478678058_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQ4MTg_28728257-22e3-4544-bfc7-6fa1f3062c41"
      unitRef="usd">75000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i004be378e0f748b1aa42d81f2b89be06_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzQ4NzY_c7e35262-8506-4cc2-9b2b-0525baa2340b"
      unitRef="usd">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <ibp:FixedChargeCoverageRatio
      contextRef="i864f9b1d04404624a2df0d3915bcb884_D20190901-20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzUwMjA_ddd5c056-1d14-43fe-ab88-0e67b9792d81"
      unitRef="number">1.0</ibp:FixedChargeCoverageRatio>
    <ibp:DebtInstrumentCovenantMarketCapitalizationThreshold
      contextRef="i864f9b1d04404624a2df0d3915bcb884_D20190901-20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzU0NjE_b4daaa7c-c024-4e41-a909-f314e4a761ff"
      unitRef="number">0.020</ibp:DebtInstrumentCovenantMarketCapitalizationThreshold>
    <us-gaap:DebtInstrumentTerm
      contextRef="i083f21c244a2422d8743ff7d726f8285_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzY3NTQ_a47cf2c2-ad9e-478b-b315-468a5f1f18af">P60M</us-gaap:DebtInstrumentTerm>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i2a51098cf25844c8871a70472227a2c1_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzcxOTM_1223b94b-a5fd-4e75-bb32-5d8516903b11"
      unitRef="usd">134500000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i911124084cd44d39bf8af927ed248bde_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzcyMDA_8f240515-8425-43ff-9198-c9bbef4040c1"
      unitRef="usd">132200000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i2a51098cf25844c8871a70472227a2c1_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzcyOTA_9b55284c-bf2f-4712-ae80-2e8d0ca0dd0d"
      unitRef="usd">65300000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i911124084cd44d39bf8af927ed248bde_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMDkvZnJhZzphYjdlYjRhMmQ1ZDc0NmFjYWQ0MmFhNGZmOWNjYjk3OC90ZXh0cmVnaW9uOmFiN2ViNGEyZDVkNzQ2YWNhZDQyYWE0ZmY5Y2NiOTc4XzcyOTc_802cd9df-f727-43d3-804e-ce79f227098c"
      unitRef="usd">65700000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzEzNzM_77b09dd7-29ed-43d7-bb4d-cfae139c33d3">LEASES&lt;div style="margin-top:7pt"&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 various assets in the ordinary course of business as follows: warehouses to store our materials and perform staging activities for certain products we install; various office spaces for selling and administrative activities to support our business; and certain vehicles and equipment to facilitate our operations, including, but not limited to, trucks, forklifts and office equipment. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the Consolidated Balance Sheet:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.139%"/&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:40.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:13pt"&gt;&lt;td colspan="3" rowspan="2" 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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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;Classification&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:400;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:13pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;border-top:1pt 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:700;line-height:100%"&gt;Assets&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 colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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-Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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&#160;lease&#160;right-of-use&#160;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;69,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 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;53,766&#160;&lt;/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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&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;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_03d44f05-2fbe-4c03-b5a8-5ebeb9bc4865"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_f0fedead-4d87-4ea1-8505-d7dfb2dcb418"&gt;Property and equipment, net&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,946&#160;&lt;/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 25.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;Total lease assets&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 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;75,137&#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;58,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;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;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: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: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 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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;Current&#160;maturities&#160;of&#160;operating&#160;lease&#160;obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;23,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;18,758&#160;&lt;/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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing&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;Current maturities of finance lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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;2,073&#160;&lt;/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;Non-Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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 obligations&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;46,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing&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;Finance lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,430&#160;&lt;/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 25.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;Total lease 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 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;74,343&#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;57,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.829%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.375%"/&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: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&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align: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 leases&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;4.3 years&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;4.1 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&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;3.3 years&lt;/span&gt;&lt;/td&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;2.6 years&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align: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 leases&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.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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.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;span style="color:#000000;font-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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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 style="margin-top:18pt"&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;Lease Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents certain information related to the lease costs for finance and operating leases during 2021, 2020 and 2019:&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-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.221%"/&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:10.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.602%"/&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="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:400;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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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 #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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;border-top:1pt solid #000000;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;Operating lease cost&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; (1)&lt;/span&gt;&lt;/div&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,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;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,454&#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;21,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance 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: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:top"&gt;&lt;div style="padding-left:6.75pt"&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 leased assets &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;(2)&lt;/span&gt;&lt;/div&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;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,942&#160;&lt;/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;Interest on finance lease obligations&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;Interest&#160;expense,&#160;net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease costs&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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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="padding-left:27pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:15.34pt"&gt;Includes variable lease costs of $3.0 million, $2.9 million and $2.5 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively, and short-term lease costs of $1.1 million, $0.8 million and $0.9 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:27pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:15.34pt"&gt;Includes variable lease costs of $0.7 million, $0.7&#160;million and $0.9 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Other Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases during 2021, 2020 and 2019:&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-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&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="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:400;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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows for operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;22,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;19,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;17,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows for finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;218&#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 colspan="2" style="background-color:#cceeff;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: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:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;341&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows for finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;2,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;2,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;4,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Undiscounted Cash Flows&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below reconciles the undiscounted cash flows for each of the first five years and total of the remaining years for the finance lease obligations and operating lease obligations recorded on the Consolidated Balance Sheet as of December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.183%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&#160;Leases&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:400;line-height:100%"&gt;Operating Leases&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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding: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;Related&#160;Party&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&#160;Operating&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;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;2,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,347&#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,832&#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;25,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,045&#160;&lt;/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;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;1,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,651&#160;&lt;/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;2025&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;674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;519&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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: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;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/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;Thereafter&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;7,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,513&#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;3,417&#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;71,463&#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;74,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Amounts representing executory costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;text-align:left;vertical-align: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: Amounts representing interest&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;(440)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,581)&lt;/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;Present value of future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,044&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="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="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current obligation under leases&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,747)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,224)&lt;/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;Long-term lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzEzNzM_b8b99bac-11f6-4e0d-be54-e75e1c55e139">LEASES&lt;div style="margin-top:7pt"&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 various assets in the ordinary course of business as follows: warehouses to store our materials and perform staging activities for certain products we install; various office spaces for selling and administrative activities to support our business; and certain vehicles and equipment to facilitate our operations, including, but not limited to, trucks, forklifts and office equipment. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the Consolidated Balance Sheet:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.139%"/&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:40.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:13pt"&gt;&lt;td colspan="3" rowspan="2" 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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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;Classification&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:400;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:13pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;border-top:1pt 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:700;line-height:100%"&gt;Assets&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 colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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-Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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&#160;lease&#160;right-of-use&#160;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;69,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 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;53,766&#160;&lt;/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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&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;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_03d44f05-2fbe-4c03-b5a8-5ebeb9bc4865"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_f0fedead-4d87-4ea1-8505-d7dfb2dcb418"&gt;Property and equipment, net&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,946&#160;&lt;/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 25.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;Total lease assets&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 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;75,137&#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;58,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;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;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: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: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 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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;Current&#160;maturities&#160;of&#160;operating&#160;lease&#160;obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;23,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;18,758&#160;&lt;/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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing&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;Current maturities of finance lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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;2,073&#160;&lt;/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;Non-Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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 obligations&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;46,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing&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;Finance lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,430&#160;&lt;/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 25.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;Total lease 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 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;74,343&#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;57,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.829%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.375%"/&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: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&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align: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 leases&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;4.3 years&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;4.1 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&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;3.3 years&lt;/span&gt;&lt;/td&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;2.6 years&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align: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 leases&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.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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.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;span style="color:#000000;font-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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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 style="margin-top:18pt"&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;Lease Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents certain information related to the lease costs for finance and operating leases during 2021, 2020 and 2019:&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-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.221%"/&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:10.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.602%"/&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="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:400;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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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 #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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;border-top:1pt solid #000000;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;Operating lease cost&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; (1)&lt;/span&gt;&lt;/div&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,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;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,454&#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;21,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance 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: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:top"&gt;&lt;div style="padding-left:6.75pt"&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 leased assets &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;(2)&lt;/span&gt;&lt;/div&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;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,942&#160;&lt;/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;Interest on finance lease obligations&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;Interest&#160;expense,&#160;net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease costs&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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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="padding-left:27pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:15.34pt"&gt;Includes variable lease costs of $3.0 million, $2.9 million and $2.5 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively, and short-term lease costs of $1.1 million, $0.8 million and $0.9 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:27pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:15.34pt"&gt;Includes variable lease costs of $0.7 million, $0.7&#160;million and $0.9 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Other Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases during 2021, 2020 and 2019:&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-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&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="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:400;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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows for operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;22,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;19,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;17,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows for finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;218&#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 colspan="2" style="background-color:#cceeff;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: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:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;341&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows for finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;2,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;2,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;4,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Undiscounted Cash Flows&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below reconciles the undiscounted cash flows for each of the first five years and total of the remaining years for the finance lease obligations and operating lease obligations recorded on the Consolidated Balance Sheet as of December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.183%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&#160;Leases&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:400;line-height:100%"&gt;Operating Leases&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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding: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;Related&#160;Party&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&#160;Operating&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;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;2,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,347&#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,832&#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;25,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,045&#160;&lt;/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;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;1,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,651&#160;&lt;/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;2025&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;674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;519&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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: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;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/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;Thereafter&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;7,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,513&#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;3,417&#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;71,463&#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;74,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Amounts representing executory costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;text-align:left;vertical-align: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: Amounts representing interest&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;(440)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,581)&lt;/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;Present value of future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,044&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="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="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current obligation under leases&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,747)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,224)&lt;/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;Long-term lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <ibp:AssetsAndLiabilitiesLesseeTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzEzNjg_df229f96-5acc-4bd3-9220-a659ff444af2">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the Consolidated Balance Sheet:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.139%"/&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:40.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:13pt"&gt;&lt;td colspan="3" rowspan="2" 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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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;Classification&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:400;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:13pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;border-top:1pt 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:700;line-height:100%"&gt;Assets&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 colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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-Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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&#160;lease&#160;right-of-use&#160;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;69,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 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;53,766&#160;&lt;/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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&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;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_03d44f05-2fbe-4c03-b5a8-5ebeb9bc4865"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtMi0xLTEtMjU3MDU_f0fedead-4d87-4ea1-8505-d7dfb2dcb418"&gt;Property and equipment, net&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,946&#160;&lt;/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 25.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;Total lease assets&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 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;75,137&#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;58,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;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;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: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: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 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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;Current&#160;maturities&#160;of&#160;operating&#160;lease&#160;obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;23,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;18,758&#160;&lt;/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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing&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;Current maturities of finance lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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;2,073&#160;&lt;/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;Non-Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&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 obligations&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;46,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing&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;Finance lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,430&#160;&lt;/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 25.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;Total lease 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 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;74,343&#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;57,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.829%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.375%"/&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: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&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align: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 leases&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;4.3 years&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;4.1 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&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;3.3 years&lt;/span&gt;&lt;/td&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;2.6 years&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align: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 leases&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.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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.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;span style="color:#000000;font-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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;</ibp:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzMtNC0xLTEtMjU3MDU_74641e4a-1795-4587-b57a-86458122f564"
      unitRef="usd">69871000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzMtNi0xLTEtMjU3MDU_f87763f1-a472-49b9-a162-a97b286c8a76"
      unitRef="usd">53766000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtNC0xLTEtMjU3MDU_b9e3e492-cb02-4ffb-944a-634d09204538"
      unitRef="usd">5266000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzQtNi0xLTEtMjU3MDU_80d90e1d-6a90-437f-8e3b-edd31c4d33ce"
      unitRef="usd">4946000</us-gaap:FinanceLeaseRightOfUseAsset>
    <ibp:LeaseAssets
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzUtNC0xLTEtMjU3MDU_99c643df-4228-4519-85d6-f4068233c491"
      unitRef="usd">75137000</ibp:LeaseAssets>
    <ibp:LeaseAssets
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzUtNi0xLTEtMjU3MDU_48db78d1-0539-421d-9b9c-a893cf294e1f"
      unitRef="usd">58712000</ibp:LeaseAssets>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzgtNC0xLTEtMjU3MDU_20c41243-32e1-44bd-81e1-bf8fc0a9f109"
      unitRef="usd">23224000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzgtNi0xLTEtMjU3MDU_5baee754-9609-42c4-9bc8-64a2e41cf11a"
      unitRef="usd">18758000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzktNC0xLTEtMjU3MDU_a089f071-45ab-4dc1-a111-404b7d03abe5"
      unitRef="usd">1747000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzktNi0xLTEtMjU3MDU_801abdd9-68af-469a-bac5-39fa0167dcc3"
      unitRef="usd">2073000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzExLTQtMS0xLTI1NzA1_29520595-7e83-44ee-b062-2c24ef744195"
      unitRef="usd">46075000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzExLTYtMS0xLTI1NzA1_580c64e5-ab49-4a42-9782-74e2529fcf1a"
      unitRef="usd">34413000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzEyLTQtMS0xLTI1NzA1_44ec0f3e-9e53-4786-8378-77a9a89d3bab"
      unitRef="usd">3297000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzEyLTYtMS0xLTI1NzA1_7ce1b7a2-0e71-4b58-b3b5-16892f04f558"
      unitRef="usd">2430000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <ibp:LeaseLiabilities
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzEzLTQtMS0xLTI1NzA1_2ecc637c-aa14-4ee7-9575-9796dfad1e6d"
      unitRef="usd">74343000</ibp:LeaseLiabilities>
    <ibp:LeaseLiabilities
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo2MDk2ZWM0YzQ3MjM0YTYzYjE3NDgxN2NjZWZlYWM4NS90YWJsZXJhbmdlOjYwOTZlYzRjNDcyMzRhNjNiMTc0ODE3Y2NlZmVhYzg1XzEzLTYtMS0xLTI1NzA1_eded832d-b7ba-4adc-9f16-b5f71a7c880a"
      unitRef="usd">57674000</ibp:LeaseLiabilities>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzEtMS0xLTEtMjU3MDU_a88af349-745b-48ac-8d53-362dd020cbfa">P4Y3M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzEtMi0xLTEtMjU3MDU_070a546c-4dba-4260-9da3-e78b7996f062">P4Y1M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzItMS0xLTEtMjU3MDU_e857f320-8cf0-4cad-bedf-60fb9b09140f">P3Y3M18D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzItMi0xLTEtMjU3MDU_a565cd21-2b2a-4114-98b8-63cefa77ff25">P2Y7M6D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzQtMS0xLTEtMjU3MDU_91ff7172-5cb7-48cc-84fd-5bbd56232c8c"
      unitRef="number">0.0338</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzQtMi0xLTEtMjU3MDU_76f16edc-9615-4ed1-b31b-e9eaac1ce85e"
      unitRef="number">0.0367</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzUtMS0xLTEtMjU3MDU_ec81a05c-85a8-4f87-b9a6-9f9e5acd6ccf"
      unitRef="number">0.0496</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTplYzM5MGE3NzM0NjU0OTFkYWNhOTJiNWM2MzlmNzk2Yi90YWJsZXJhbmdlOmVjMzkwYTc3MzQ2NTQ5MWRhY2E5MmI1YzYzOWY3OTZiXzUtMi0xLTEtMjU3MDU_9c05cb6b-f7fa-44a3-8bf4-d3528fc588b7"
      unitRef="number">0.0508</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzEzNzQ_748f6b84-37fd-4a3f-bdfc-54a9738662ed">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents certain information related to the lease costs for finance and operating leases during 2021, 2020 and 2019:&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-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.221%"/&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:10.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.602%"/&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="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:400;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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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 #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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;border-top:1pt solid #000000;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;Operating lease cost&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; (1)&lt;/span&gt;&lt;/div&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,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;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,454&#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;21,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance 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: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:top"&gt;&lt;div style="padding-left:6.75pt"&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 leased assets &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;(2)&lt;/span&gt;&lt;/div&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;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,942&#160;&lt;/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;Interest on finance lease obligations&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;Interest&#160;expense,&#160;net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease costs&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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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="padding-left:27pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:15.34pt"&gt;Includes variable lease costs of $3.0 million, $2.9 million and $2.5 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively, and short-term lease costs of $1.1 million, $0.8 million and $0.9 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:27pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:15.34pt"&gt;Includes variable lease costs of $0.7 million, $0.7&#160;million and $0.9 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases during 2021, 2020 and 2019:&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-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&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="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:400;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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows for operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;22,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;19,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td style="background-color:#ffffff;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:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:100%"&gt;17,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows for finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;218&#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 colspan="2" style="background-color:#cceeff;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: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:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;341&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows for finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;2,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;2,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;4,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzItNC0xLTEtMjU3MDU_a4d9c010-f929-4173-9704-ac3de8d944e9"
      unitRef="usd">27357000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzItNi0xLTEtMjU3MDU_ce11b074-41a4-409c-a3cc-2b8d50b17710"
      unitRef="usd">23454000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzItOC0xLTEtMzc1Mzc_37a5f8b7-da94-40ed-8963-dbff2cca2a10"
      unitRef="usd">21024000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzQtNC0xLTEtMjU3MDU_6bd6cb8a-9d25-4964-aef2-528c98684bd1"
      unitRef="usd">3083000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzQtNi0xLTEtMjU3MDU_32b15055-b3e7-49bf-84d0-04c24ab75743"
      unitRef="usd">3645000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzQtOC0xLTEtMzc1NDQ_ad362089-565a-4cb6-9aec-2eb0151ab851"
      unitRef="usd">4942000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzUtNC0xLTEtMjU3MDU_f9343397-e926-414a-98e0-2ffeec30fccc"
      unitRef="usd">218000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzUtNi0xLTEtMjU3MDU_dff6165a-beb6-4dc3-b6d2-b3dbb9ee9882"
      unitRef="usd">268000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzUtOC0xLTEtMzc1NDQ_609cf980-972e-4ab1-b048-07a9fe534033"
      unitRef="usd">341000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:LeaseCost
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzYtNC0xLTEtMjU3MDU_5f0c9ed8-b552-4039-be68-890d1f3e8094"
      unitRef="usd">30658000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzYtNi0xLTEtMjU3MDU_e63005c2-4a15-4dcb-8c6f-417108f07d97"
      unitRef="usd">27367000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo4MDNiNjU4ZTUyMDc0MDNhODI2NGFhYmUzMjVmYWQ4Yi90YWJsZXJhbmdlOjgwM2I2NThlNTIwNzQwM2E4MjY0YWFiZTMyNWZhZDhiXzYtOC0xLTEtMzc1NDQ_2588e216-5090-4a66-89fd-5a1adf25b13a"
      unitRef="usd">26307000</us-gaap:LeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i49c52231c4a4480298726727c91017dc_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzcyOA_f76fb82c-dfbc-4557-b832-323e781d71ce"
      unitRef="usd">3000000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="if1f4acfdc76a4f2db2f6beccc811b759_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzczNQ_fc2b8dfc-6790-47ae-b3c4-5e2b7553b41f"
      unitRef="usd">2900000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i28f0152d58b64fad84e0a7899d765676_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1Xzg3OTYwOTMwMjM3Njk_137d9ac2-fdee-4d70-96f0-b8bd1054475c"
      unitRef="usd">2500000</us-gaap:VariableLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i49c52231c4a4480298726727c91017dc_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzgxMg_8828483c-b6c4-46ef-95b3-f9ccb5cbad29"
      unitRef="usd">1100000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="if1f4acfdc76a4f2db2f6beccc811b759_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzgxOQ_c4369690-41f1-4ce8-a5b5-0221ecaa3bd0"
      unitRef="usd">800000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i28f0152d58b64fad84e0a7899d765676_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1Xzg3OTYwOTMwMjM3ODY_21a2a305-c61d-4bd2-acb4-9c773c9b96f6"
      unitRef="usd">900000</us-gaap:ShortTermLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i42a608b2a77e47b5b985974506cf3b64_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzkwNw_e4f17bcb-8af3-442c-88a0-f68c11a699c0"
      unitRef="usd">700000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i1352ec150cd3499f9e8833b0fedaa3ab_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzIxOTkwMjMyNTcxODM_1e7cdb5c-f342-4985-8036-16279c66b3df"
      unitRef="usd">700000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="ieeea1d31032c471f9314040b30c6bfe9_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1Xzg3OTYwOTMwMjM4MDU_70b033fa-6c43-44ec-b6ad-2fa5c67d8e8b"
      unitRef="usd">900000</us-gaap:VariableLeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzMtMS0xLTEtMjU3MDU_d2503881-346d-4585-b512-825799ea26c6"
      unitRef="usd">22930000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzMtMy0xLTEtMjU3MDU_5bb88dad-2173-4459-bc74-72b6322a9263"
      unitRef="usd">19668000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzMtNS0xLTEtMzc1Nzk_6b087cfc-13f1-46c5-a45c-294543d46748"
      unitRef="usd">17521000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzQtMS0xLTEtMjU3MDU_162ab463-d570-415b-999f-fe2e9314c91d"
      unitRef="usd">218000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzQtMy0xLTEtMjU3MDU_dadadbe7-ace0-4c80-aa7a-55c857a698fd"
      unitRef="usd">268000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzQtNS0xLTEtMzc1Nzk_d46057c8-50b1-48dd-bed9-e8cacb7514f8"
      unitRef="usd">341000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzUtMS0xLTEtMjU3MDU_9fd5cbd5-d908-4f58-9255-868fac86dc31"
      unitRef="usd">2125000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzUtMy0xLTEtMjU3MDU_f4176516-ae94-41be-9b4f-3205623806b5"
      unitRef="usd">2632000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo1NzgwMjU2ZTNmNmU0OTBhODI0OWM1MGU4YjM1M2Y5ZC90YWJsZXJhbmdlOjU3ODAyNTZlM2Y2ZTQ5MGE4MjQ5YzUwZThiMzUzZjlkXzUtNS0xLTEtMzc1Nzk_04bec9f4-62a9-46d5-953b-a721690b9955"
      unitRef="usd">4157000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzEzNzE_90298e06-5ffd-4796-ae8d-b869f1bcdc73">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below reconciles the undiscounted cash flows for each of the first five years and total of the remaining years for the finance lease obligations and operating lease obligations recorded on the Consolidated Balance Sheet as of December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.183%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&#160;Leases&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:400;line-height:100%"&gt;Operating Leases&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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding: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;Related&#160;Party&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&#160;Operating&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;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;2,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,347&#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,832&#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;25,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,045&#160;&lt;/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;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;1,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,651&#160;&lt;/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;2025&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;674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;519&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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: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;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/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;Thereafter&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;7,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,513&#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;3,417&#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;71,463&#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;74,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Amounts representing executory costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;text-align:left;vertical-align: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: Amounts representing interest&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;(440)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,581)&lt;/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;Present value of future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,044&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="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="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current obligation under leases&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,747)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,224)&lt;/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;Long-term lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90ZXh0cmVnaW9uOmRmN2I5ODZlNmJiMTQ4ZmI5ZWZlMDFhOTg3ODY1NGU1XzEzNzI_73b19fdd-ceec-4388-b793-fd1c101899c5">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below reconciles the undiscounted cash flows for each of the first five years and total of the remaining years for the finance lease obligations and operating lease obligations recorded on the Consolidated Balance Sheet as of December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.183%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.633%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&#160;Leases&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:400;line-height:100%"&gt;Operating Leases&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;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding: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;Related&#160;Party&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&#160;Operating&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;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;2,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,347&#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,832&#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;25,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,045&#160;&lt;/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;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;1,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,651&#160;&lt;/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;2025&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;674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;519&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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: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;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,701&#160;&lt;/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;Thereafter&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;7,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,513&#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;3,417&#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;71,463&#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;74,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Amounts representing executory costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;text-align:left;vertical-align: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: Amounts representing interest&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;(440)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,581)&lt;/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;Present value of future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,044&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="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="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current obligation under leases&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,747)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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: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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,224)&lt;/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;Long-term lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzItMS0xLTEtMjU3MDU_3e2d9102-c2f0-4b4b-b4ac-8ed86878fb8a"
      unitRef="usd">2001000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzItMy0xLTEtMjU3MDU_1b4edabf-b0dc-4b26-ba04-cc969b89fde8"
      unitRef="usd">1347000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzItNS0xLTEtMjU3MDU_9fc52487-9af5-468f-9d20-6a7c8ad8b910"
      unitRef="usd">23832000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzItNy0xLTEtMjU3MDU_2c238820-2715-47ab-8171-d0bf639e07a1"
      unitRef="usd">25179000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzMtMS0xLTEtMjU3MDU_d7ae9d38-b604-4ea8-b630-d596fa08deaa"
      unitRef="usd">1452000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzMtMy0xLTEtMjU3MDU_6cd9ab17-5fa7-4418-b23b-7c3294156b27"
      unitRef="usd">906000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzMtNS0xLTEtMjU3MDU_b034a2b9-7841-4e6a-9123-477d58a43e20"
      unitRef="usd">18139000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzMtNy0xLTEtMjU3MDU_a9de3a50-f784-42b3-bb05-2474ca5ed7aa"
      unitRef="usd">19045000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzQtMS0xLTEtMjU3MDU_5e0d7a2e-40ad-4abe-a8b9-cfc6c25d7506"
      unitRef="usd">1043000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzQtMy0xLTEtMjU3MDU_0dfeb999-d47a-4aff-915b-30bbe5f58c57"
      unitRef="usd">645000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzQtNS0xLTEtMjU3MDU_c2bea0e5-9c93-4169-b8ad-6cca67977051"
      unitRef="usd">11006000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzQtNy0xLTEtMjU3MDU_dc26e869-3801-4176-afae-6dd7d074b32b"
      unitRef="usd">11651000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzUtMS0xLTEtMjU3MDU_4edacfca-770c-4638-8d35-33cd662567a9"
      unitRef="usd">674000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzUtMy0xLTEtMjU3MDU_548f5799-9393-40b1-9bd2-efce1873718e"
      unitRef="usd">519000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzUtNS0xLTEtMjU3MDU_7fd45a50-75ef-42f8-adc0-3e6cbbc97d2d"
      unitRef="usd">6502000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzUtNy0xLTEtMjU3MDU_c36858ea-bae9-427e-aca0-2db01f3d057c"
      unitRef="usd">7021000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzYtMS0xLTEtMjU3MDU_3425a853-30ec-4817-b4d7-f62c4fa68659"
      unitRef="usd">343000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzYtMy0xLTEtMjU3MDU_062f6039-7920-4475-99df-16761840a182"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzYtNS0xLTEtMjU3MDU_77273424-610a-4358-86e3-8ca95f02b78e"
      unitRef="usd">4701000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzYtNy0xLTEtMjU3MDU_0b2b8d38-62b8-4795-941e-10ad102c7f59"
      unitRef="usd">4701000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzctMS0xLTEtMjU3MDU_a3ed0070-ec57-40dc-8605-5daba0645d15"
      unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzctMy0xLTEtMjU3MDU_510e9517-0611-4651-8b4d-d69ba035f8cc"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzctNS0xLTEtMjU3MDU_991060f1-6813-4b08-80a1-9dc893e10e9f"
      unitRef="usd">7283000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzctNy0xLTEtMjU3MDU_7b8de7df-3a8b-46be-b91b-eb44defd247b"
      unitRef="usd">7283000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzgtMS0xLTEtMjU3MDU_ff21245a-a63c-4a47-b248-88e0cb992e4e"
      unitRef="usd">5513000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i6ac4d9aeb3f045cca0b17a8409c81aff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzgtMy0xLTEtMjU3MDU_28945376-d519-4605-84d6-917d794e7d1f"
      unitRef="usd">3417000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i11ef70ad318b48b1a4d8575ee7f666b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzgtNS0xLTEtMjU3MDU_f5f2c6e6-5ce8-4b85-b0a1-f1993583f7b1"
      unitRef="usd">71463000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzgtNy0xLTEtMjU3MDU_9cc94f74-4a98-450f-829c-6c26f84973b2"
      unitRef="usd">74880000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <ibp:FinanceLeaseExecutoryCosts
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzktMS0xLTEtMjU3MDU_d84f6917-46a9-41a4-9f29-addbad84cf45"
      unitRef="usd">29000</ibp:FinanceLeaseExecutoryCosts>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzEwLTEtMS0xLTI1NzA1_6ebd519a-f90b-4f75-84b7-502aa7ef03de"
      unitRef="usd">440000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzEwLTctMS0xLTI1NzA1_2e280d21-d99c-4da0-8677-55b5bfc87e6e"
      unitRef="usd">5581000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiability
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzExLTEtMS0xLTI1NzA1_5bf15f9a-d4e4-4995-84f6-6061ad4dac5c"
      unitRef="usd">5044000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzExLTctMS0xLTI1NzA1_f24fbaf7-8bdc-4511-a1f8-b9ed79b6bdba"
      unitRef="usd">69299000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzEyLTEtMS0xLTI1NzA1_788eb505-6364-46d0-ba88-88b681d1671c"
      unitRef="usd">1747000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzEyLTctMS0xLTI1NzA1_a4d8706d-7742-49b8-9e21-9e899e7ef95b"
      unitRef="usd">23224000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzEzLTEtMS0xLTI1NzA1_46eb431f-142c-4fb6-9b58-5c58b4b59532"
      unitRef="usd">3297000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTIvZnJhZzpkZjdiOTg2ZTZiYjE0OGZiOWVmZTAxYTk4Nzg2NTRlNS90YWJsZTo3Njk2ZGZhMzEwNDE0YTIyYTZjNGYzOTI4ZjBhYjU3OC90YWJsZXJhbmdlOjc2OTZkZmEzMTA0MTRhMjJhNmM0ZjM5MjhmMGFiNTc4XzEzLTctMS0xLTI1NzA1_13eafc96-8cbe-488e-b07a-de3a66d1645b"
      unitRef="usd">46075000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90ZXh0cmVnaW9uOmEzYTkxNjdjOTczZTRiYmNiYjlhZTkzNTlmZGVmZWNiXzUwOTk_513e86c5-8cfd-4d31-b2c5-578e802705f5">FAIR VALUE MEASUREMENTS&lt;div style="margin-top:9pt"&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;Fair Values&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is the price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.&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;ASC 820, &#x201c;Fair Value Measurement,&#x201d; establishes a fair value hierarchy that requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&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: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the measurement date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&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: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&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: Significant unobservable inputs that reflect a reporting entity&#x2019;s own assumptions about the assumptions that market participants would use in pricing an asset or liability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Assets and Liabilities Measured at Fair Value on a Recurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In many cases, a valuation technique used to measure fair value includes inputs from multiple levels of the fair value hierarchy. The lowest level of significant input determines the placement of the entire fair value measurement in the hierarchy. During the periods presented, there were no transfers between fair value hierarchical levels.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Assets Measured at Fair Value on a Nonrecurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain assets, specifically other intangible and long-lived assets, are measured at fair value on a nonrecurring basis in periods subsequent to initial recognition. Assets measured at fair value on a nonrecurring basis as of December&#160;31, 2021 and 2020 are categorized based on the lowest level of significant input to the valuation. The assets are measured at fair value when our impairment assessment indicates a carrying value for each of the assets in excess of the asset&#x2019;s estimated fair value. Undiscounted cash flows, a Level 3 input, are utilized in determining estimated fair values. During each of the years ended December&#160;31, 2021, 2020 and 2019, we did not record any impairments on these assets required to be measured at fair value on a nonrecurring basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Estimated Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, accounts payable and accrued liabilities as of December&#160;31, 2021 and 2020 approximate fair value due to the short-term maturities of these financial instruments. The carrying amounts of certain long-term debt, including the Term Loan and ABL Revolver as of December&#160;31, 2021 and 2020, approximate fair value due to the variable rate nature of the agreements. The carrying amounts of our operating lease right-of-use assets and the obligations associated with our operating and finance leases as well as our vehicle and equipment notes approximate fair value as of December&#160;31, 2021 and 2020. All debt classifications represent Level 2 fair value measurements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Derivative financial instruments are measured at fair value based on observable market information and appropriate valuation methods. Contingent consideration liabilities arise from future earnout payments to the sellers associated with certain acquisitions and are based on predetermined calculations of certain future results. These future payments are estimated by considering various factors, including business risk and projections. The contingent consideration liabilities are measured at fair value by discounting estimated future payments, calculated based on a weighted average of various future forecast scenarios, to their net present value. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 financial assets and liabilities that are recorded at fair value in the Consolidated Balance Sheets and not described above were as follows (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="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.379%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.951%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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: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:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financial assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents&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;258,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;258,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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;170,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;170,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Derivative financial instruments&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;14,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;14,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;5,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;5,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;Total financial assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;258,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;170,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financial liabilities:&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;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;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;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 2px 13pt;text-align:left;vertical-align:top"&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&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,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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;11,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;4,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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;4,004&#160;&lt;/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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Derivative financial instruments&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,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;1,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;Total financial liabilities&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;13,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;1,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;11,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;4,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;4,004&#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&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;See Note 5, Cash and Cash Equivalents, for more information on cash equivalents included in the table above. Also see Note 11, Derivatives and Hedging Activities, for more information on derivative financial instruments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in fair value of the contingent consideration (a Level 3 input) was as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:60.526%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.915%"/&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;div&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 liability&#x2014;January 1, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&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:100%"&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:100%"&gt;4,004&#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;/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;Preliminary purchase price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;8,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;Fair value adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;(413)&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;/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;Accretion in value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;1,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;Amounts cancelled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;(1,035)&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;/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;Amounts paid to sellers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;(940)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;div&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 liability&#x2014;December&#160;31, 2021&lt;/span&gt;&lt;/div&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,170&#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:top"/&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accretion in value of contingent consideration liabilities is included within administrative expenses on the Consolidated Statements of Operations and Comprehensive Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 and associated fair values of financial assets and liabilities that are not recorded at fair value in the Consolidated Balance Sheets and not described above include our Senior Notes. To estimate fair value of our Senior Notes, we utilized third-party quotes which are derived all or in part from model prices, external sources or market prices. The Senior Notes represent a Level 2 fair value measurement and are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:69.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.100%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.104%"/&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:400;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="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:400;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: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:400;line-height:100%"&gt;Carrying&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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;Senior Notes &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;(1)&lt;/span&gt;&lt;/div&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;300,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;311,028&#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;300,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;320,013&#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&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:27pt;text-indent:49.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:19.84pt"&gt;Excludes the impact of unamortized debt issuance costs.&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;Also see Note 8, Long-Term Debt, for more information on our Senior Notes.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90ZXh0cmVnaW9uOmEzYTkxNjdjOTczZTRiYmNiYjlhZTkzNTlmZGVmZWNiXzUwOTQ_de3f1332-4792-4921-920a-110dfb9e4800">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is the price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.&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;ASC 820, &#x201c;Fair Value Measurement,&#x201d; establishes a fair value hierarchy that requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&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: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the measurement date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&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: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&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: Significant unobservable inputs that reflect a reporting entity&#x2019;s own assumptions about the assumptions that market participants would use in pricing an asset or liability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Assets and Liabilities Measured at Fair Value on a Recurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In many cases, a valuation technique used to measure fair value includes inputs from multiple levels of the fair value hierarchy. The lowest level of significant input determines the placement of the entire fair value measurement in the hierarchy. During the periods presented, there were no transfers between fair value hierarchical levels.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Assets Measured at Fair Value on a Nonrecurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain assets, specifically other intangible and long-lived assets, are measured at fair value on a nonrecurring basis in periods subsequent to initial recognition. Assets measured at fair value on a nonrecurring basis as of December&#160;31, 2021 and 2020 are categorized based on the lowest level of significant input to the valuation. The assets are measured at fair value when our impairment assessment indicates a carrying value for each of the assets in excess of the asset&#x2019;s estimated fair value. Undiscounted cash flows, a Level 3 input, are utilized in determining estimated fair values. During each of the years ended December&#160;31, 2021, 2020 and 2019, we did not record any impairments on these assets required to be measured at fair value on a nonrecurring basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Estimated Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, accounts payable and accrued liabilities as of December&#160;31, 2021 and 2020 approximate fair value due to the short-term maturities of these financial instruments. The carrying amounts of certain long-term debt, including the Term Loan and ABL Revolver as of December&#160;31, 2021 and 2020, approximate fair value due to the variable rate nature of the agreements. The carrying amounts of our operating lease right-of-use assets and the obligations associated with our operating and finance leases as well as our vehicle and equipment notes approximate fair value as of December&#160;31, 2021 and 2020. All debt classifications represent Level 2 fair value measurements.&lt;/span&gt;&lt;/div&gt;Derivative financial instruments are measured at fair value based on observable market information and appropriate valuation methods. Contingent consideration liabilities arise from future earnout payments to the sellers associated with certain acquisitions and are based on predetermined calculations of certain future results. These future payments are estimated by considering various factors, including business risk and projections. The contingent consideration liabilities are measured at fair value by discounting estimated future payments, calculated based on a weighted average of various future forecast scenarios, to their net present value.</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90ZXh0cmVnaW9uOmEzYTkxNjdjOTczZTRiYmNiYjlhZTkzNTlmZGVmZWNiXzUwOTU_0f4104db-f063-423b-bce7-fe894c0ff0eb">&lt;div style="margin-top:9pt"&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 financial assets and liabilities that are recorded at fair value in the Consolidated Balance Sheets and not described above were as follows (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="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.379%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.951%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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: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:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financial assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents&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;258,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;258,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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;170,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;170,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Derivative financial instruments&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;14,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;14,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;5,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;5,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;Total financial assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;258,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;170,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financial liabilities:&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;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;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;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 2px 13pt;text-align:left;vertical-align:top"&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&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,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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;11,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;4,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;&#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;4,004&#160;&lt;/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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Derivative financial instruments&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,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;1,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;Total financial liabilities&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;13,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;1,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;11,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;4,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;4,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtMS0xLTEtMjU3MDU_8ab17a56-9d54-4ed5-a4c8-dfea2d72455b"
      unitRef="usd">258055000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ibb2a16bd7129404d8cf0f3387c5fa843_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtMy0xLTEtMjU3MDU_8501e598-c669-47b4-9441-3971d8a39dee"
      unitRef="usd">258055000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4e9852d2780746f89be87a904c6fd84b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtNS0xLTEtMjU3MDU_1859887a-de24-4804-8631-d6644b5feb21"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="if505f1d82ad346d287913cd6a4a2a9bd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtNy0xLTEtMjU3MDU_1b5c4197-759c-4050-9629-dc312e7c9caf"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtOS0xLTEtMjU3MDU_2a337558-dd1f-4b24-be58-ab9e8eec3850"
      unitRef="usd">170398000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4515323f7ef64808844f353913d03def_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtMTEtMS0xLTI1NzA1_f44dff75-7018-43bc-9ef4-122a86943539"
      unitRef="usd">170398000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i061c5446c2f74a39b62376e051ab7877_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtMTMtMS0xLTI1NzA1_c37afafa-c3ab-475b-b772-a56c000f99b1"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6fa538e1da7449f3a2b40f691cc8d74d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzMtMTUtMS0xLTI1NzA1_c26c84ec-2ccd-4c72-8bec-6bc4fdbc46a2"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:DerivativeAssets
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtMS0xLTEtMjU3MDU_b07eaf2b-f34c-4ca7-b761-8f4ce1bd60f1"
      unitRef="usd">14830000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ibb2a16bd7129404d8cf0f3387c5fa843_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtMy0xLTEtMjU3MDU_03fab60f-50bc-4bc7-bc7f-63aacf141640"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i4e9852d2780746f89be87a904c6fd84b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtNS0xLTEtMjU3MDU_936d9f95-88a0-4944-8205-829ab018276d"
      unitRef="usd">14830000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="if505f1d82ad346d287913cd6a4a2a9bd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtNy0xLTEtMjU3MDU_4c312684-a0aa-4bd7-8132-cada2bbb424f"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtOS0xLTEtMjU3MDU_bd32b444-9692-4ec9-acf0-7a51c365be87"
      unitRef="usd">5130000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i4515323f7ef64808844f353913d03def_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtMTEtMS0xLTI1NzA1_bb3b23b9-3890-4fe9-9de2-8a558233b917"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i061c5446c2f74a39b62376e051ab7877_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtMTMtMS0xLTI1NzA1_d03af519-aab2-4677-972d-0411265dc016"
      unitRef="usd">5130000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i6fa538e1da7449f3a2b40f691cc8d74d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzQtMTUtMS0xLTI1NzA1_1a06f1f3-178c-4de9-8523-453061c5b328"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtMS0xLTEtMjU3MDU_579b103a-2d2f-4cfe-872c-5f9298498550"
      unitRef="usd">272885000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ibb2a16bd7129404d8cf0f3387c5fa843_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtMy0xLTEtMjU3MDU_c304c3fd-a312-4d14-815d-60c16d1ef013"
      unitRef="usd">258055000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i4e9852d2780746f89be87a904c6fd84b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtNS0xLTEtMjU3MDU_18a91149-2075-4916-848f-584040c55874"
      unitRef="usd">14830000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="if505f1d82ad346d287913cd6a4a2a9bd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtNy0xLTEtMjU3MDU_d11eec68-59f0-4320-9191-2355a8de371e"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtOS0xLTEtMjU3MDU_8ed36ae9-6b16-45d2-a879-ce912391e9dc"
      unitRef="usd">175528000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i4515323f7ef64808844f353913d03def_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtMTEtMS0xLTI1NzA1_8123e81c-5da3-40b1-ada5-8cecdf4b145c"
      unitRef="usd">170398000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i061c5446c2f74a39b62376e051ab7877_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtMTMtMS0xLTI1NzA1_8ffbb25e-524b-48a9-ac26-73c81d497aa0"
      unitRef="usd">5130000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i6fa538e1da7449f3a2b40f691cc8d74d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzUtMTUtMS0xLTI1NzA1_3b641f92-2e42-4834-9c5e-682aee50e44a"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctMS0xLTEtMjU3MDU_1aeee536-fccb-4fff-9b03-84d7d648e0ad"
      unitRef="usd">11170000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="ibb2a16bd7129404d8cf0f3387c5fa843_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctMy0xLTEtMjU3MDU_901d447a-ec80-4615-811d-62b4da1f5729"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i4e9852d2780746f89be87a904c6fd84b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctNS0xLTEtMjU3MDU_22742804-d213-4e26-ba0a-4ce3f6d3fee3"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="if505f1d82ad346d287913cd6a4a2a9bd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctNy0xLTEtMjU3MDU_8f22feb4-56b8-4317-bdcd-cf9e95e08ffd"
      unitRef="usd">11170000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctOS0xLTEtMjU3MDU_9d995704-8d63-4816-9748-58951da11d61"
      unitRef="usd">4004000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i4515323f7ef64808844f353913d03def_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctMTEtMS0xLTI1NzA1_16f3159b-e1dc-4e5c-aae2-cd81310721ae"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i061c5446c2f74a39b62376e051ab7877_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctMTMtMS0xLTI1NzA1_4b146f5e-3145-4c7b-9275-e5a2783c9232"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i6fa538e1da7449f3a2b40f691cc8d74d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzctMTUtMS0xLTI1NzA1_e7f041bf-e286-48d7-8c47-2c20460aceb0"
      unitRef="usd">4004000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:DerivativeLiabilities
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtMS0xLTEtMjU3MDU_71ac2175-f7b7-48fd-9918-efd04a2cd3ce"
      unitRef="usd">1937000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="ibb2a16bd7129404d8cf0f3387c5fa843_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtMy0xLTEtMjU3MDU_7c5d2a0a-f97a-4f32-b390-bc20a112db9e"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i4e9852d2780746f89be87a904c6fd84b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtNS0xLTEtMjU3MDU_6ada1a91-576c-4262-9217-3c4c7ce96e3e"
      unitRef="usd">1937000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="if505f1d82ad346d287913cd6a4a2a9bd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtNy0xLTEtMjU3MDU_eb61cac2-b1ac-411c-88e3-36fab8eab795"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtOS0xLTEtMjU3MDU_c83deb4c-67ac-4dda-89dc-fba2688820da"
      unitRef="usd">324000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i4515323f7ef64808844f353913d03def_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtMTEtMS0xLTI1NzA1_17d976ad-b8a1-4026-a223-e0ab2edfe04f"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i061c5446c2f74a39b62376e051ab7877_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtMTMtMS0xLTI1NzA1_ca257f64-05cc-4226-ba30-65858f4e5721"
      unitRef="usd">324000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i6fa538e1da7449f3a2b40f691cc8d74d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzgtMTUtMS0xLTI1NzA1_b8399033-a684-4c8b-bdf6-92f4039c5fd9"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktMS0xLTEtMjU3MDU_48a478e8-227d-493e-82d8-bfdfe1797dcd"
      unitRef="usd">13107000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ibb2a16bd7129404d8cf0f3387c5fa843_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktMy0xLTEtMjU3MDU_e98beb6b-d9d1-4c80-9070-4818071eba93"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i4e9852d2780746f89be87a904c6fd84b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktNS0xLTEtMjU3MDU_b0936d2e-d898-41b1-a080-8ffab5a3550e"
      unitRef="usd">1937000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="if505f1d82ad346d287913cd6a4a2a9bd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktNy0xLTEtMjU3MDU_0f7b9ab5-afad-4a08-a694-334bf6d338fd"
      unitRef="usd">11170000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktOS0xLTEtMjU3MDU_357433cd-0889-46ad-8805-b0c12c160fbc"
      unitRef="usd">4328000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i4515323f7ef64808844f353913d03def_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktMTEtMS0xLTI1NzA1_a9cbb7dd-d8fd-4e00-bcc9-8300799af59a"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i061c5446c2f74a39b62376e051ab7877_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktMTMtMS0xLTI1NzA1_dd423d34-386d-4e25-b765-96aa1bef5223"
      unitRef="usd">324000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i6fa538e1da7449f3a2b40f691cc8d74d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZToxMjZkYjE0NWFjODE0NzFjYTc3YjMxMjdkODZhNmU4Mi90YWJsZXJhbmdlOjEyNmRiMTQ1YWM4MTQ3MWNhNzdiMzEyN2Q4NmE2ZTgyXzktMTUtMS0xLTI1NzA1_6c50a7ae-8923-4186-bd7c-d601fd3db72f"
      unitRef="usd">4004000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90ZXh0cmVnaW9uOmEzYTkxNjdjOTczZTRiYmNiYjlhZTkzNTlmZGVmZWNiXzUwOTY_91c9dd50-e1f8-4b0d-966c-9a81c1239f7c">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in fair value of the contingent consideration (a Level 3 input) was as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:60.526%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.885%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.915%"/&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;div&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 liability&#x2014;January 1, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&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:100%"&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:100%"&gt;4,004&#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;/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;Preliminary purchase price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;8,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;Fair value adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;(413)&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;/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;Accretion in value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;1,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;Amounts cancelled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;(1,035)&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;/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;Amounts paid to sellers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;(940)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;div&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 liability&#x2014;December&#160;31, 2021&lt;/span&gt;&lt;/div&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,170&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTpmOTY1NDY1MDZjMzQ0NzY0ODc3ZDQwMGM4YzExNWE0Ni90YWJsZXJhbmdlOmY5NjU0NjUwNmMzNDQ3NjQ4NzdkNDAwYzhjMTE1YTQ2XzAtMS0xLTEtMjU3MDU_4a8f5138-3d42-4ab3-82d2-bd87850c4bcd"
      unitRef="usd">4004000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTpmOTY1NDY1MDZjMzQ0NzY0ODc3ZDQwMGM4YzExNWE0Ni90YWJsZXJhbmdlOmY5NjU0NjUwNmMzNDQ3NjQ4NzdkNDAwYzhjMTE1YTQ2XzEtMS0xLTEtMjU3MDU_a617f1cd-0fd0-4ac8-a4dc-79ee269ddcb4"
      unitRef="usd">8400000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTpmOTY1NDY1MDZjMzQ0NzY0ODc3ZDQwMGM4YzExNWE0Ni90YWJsZXJhbmdlOmY5NjU0NjUwNmMzNDQ3NjQ4NzdkNDAwYzhjMTE1YTQ2XzItMS0xLTEtMjU3MDU_d8b84268-f57b-4767-9399-c99af5c42bf0"
      unitRef="usd">-413000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <ibp:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityAccretionExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTpmOTY1NDY1MDZjMzQ0NzY0ODc3ZDQwMGM4YzExNWE0Ni90YWJsZXJhbmdlOmY5NjU0NjUwNmMzNDQ3NjQ4NzdkNDAwYzhjMTE1YTQ2XzMtMS0xLTEtMjU3MDU_c5a8bf2e-8f7f-4467-99ba-d5517997616b"
      unitRef="usd">1154000</ibp:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityAccretionExpense>
    <ibp:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityCancelled
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTpmOTY1NDY1MDZjMzQ0NzY0ODc3ZDQwMGM4YzExNWE0Ni90YWJsZXJhbmdlOmY5NjU0NjUwNmMzNDQ3NjQ4NzdkNDAwYzhjMTE1YTQ2XzQtMS0xLTEtMjU3MDU_c87eaebe-665d-4b52-bdd7-c1894bad2e31"
      unitRef="usd">1035000</ibp:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityCancelled>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTpmOTY1NDY1MDZjMzQ0NzY0ODc3ZDQwMGM4YzExNWE0Ni90YWJsZXJhbmdlOmY5NjU0NjUwNmMzNDQ3NjQ4NzdkNDAwYzhjMTE1YTQ2XzUtMS0xLTEtMjU3MDU_e94c949a-d9b6-423b-9304-b503bd09009d"
      unitRef="usd">940000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTpmOTY1NDY1MDZjMzQ0NzY0ODc3ZDQwMGM4YzExNWE0Ni90YWJsZXJhbmdlOmY5NjU0NjUwNmMzNDQ3NjQ4NzdkNDAwYzhjMTE1YTQ2XzYtMS0xLTEtMjU3MDU_4630eee5-c474-4c07-abee-c23f18251220"
      unitRef="usd">11170000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueByBalanceSheetGroupingTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90ZXh0cmVnaW9uOmEzYTkxNjdjOTczZTRiYmNiYjlhZTkzNTlmZGVmZWNiXzUwOTc_1de7105b-b149-4015-a9ec-8749320578cd">&lt;div style="margin-top:9pt"&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 and associated fair values of financial assets and liabilities that are not recorded at fair value in the Consolidated Balance Sheets and not described above include our Senior Notes. To estimate fair value of our Senior Notes, we utilized third-party quotes which are derived all or in part from model prices, external sources or market prices. The Senior Notes represent a Level 2 fair value measurement and are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:69.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.100%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.846%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.104%"/&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:400;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="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:400;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: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:400;line-height:100%"&gt;Carrying&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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;Senior Notes &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;(1)&lt;/span&gt;&lt;/div&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;300,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;311,028&#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;300,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;320,013&#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&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:27pt;text-indent:49.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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%;padding-left:19.84pt"&gt;Excludes the impact of unamortized debt issuance costs.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueByBalanceSheetGroupingTextBlock>
    <us-gaap:LongTermDebtFairValue
      contextRef="i4eb876ff8c4f4e84bbd82837bf948791_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTo2NTRmMDI3OGE0OWY0MjdmOTk3YmVmZDk0NGFmZTNmZi90YWJsZXJhbmdlOjY1NGYwMjc4YTQ5ZjQyN2Y5OTdiZWZkOTQ0YWZlM2ZmXzMtMS0xLTEtMjU3MDU_0d7ebe86-1713-477f-8d9a-c13617540b8b"
      unitRef="usd">300000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i19b63ea8b35e4e9a92640f5590d695e7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTo2NTRmMDI3OGE0OWY0MjdmOTk3YmVmZDk0NGFmZTNmZi90YWJsZXJhbmdlOjY1NGYwMjc4YTQ5ZjQyN2Y5OTdiZWZkOTQ0YWZlM2ZmXzMtMy0xLTEtMjU3MDU_88c3776c-21b4-44d8-ae74-3191fb91abba"
      unitRef="usd">311028000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="iea9328af6b5d4f5c84cae737738d7b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTo2NTRmMDI3OGE0OWY0MjdmOTk3YmVmZDk0NGFmZTNmZi90YWJsZXJhbmdlOjY1NGYwMjc4YTQ5ZjQyN2Y5OTdiZWZkOTQ0YWZlM2ZmXzMtNS0xLTEtMjU3MDU_072fd058-d021-4f84-b83d-115d234997d3"
      unitRef="usd">300000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i43a5df9871084e6ba745f79ede398158_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMTgvZnJhZzphM2E5MTY3Yzk3M2U0YmJjYmI5YWU5MzU5ZmRlZmVjYi90YWJsZTo2NTRmMDI3OGE0OWY0MjdmOTk3YmVmZDk0NGFmZTNmZi90YWJsZXJhbmdlOjY1NGYwMjc4YTQ5ZjQyN2Y5OTdiZWZkOTQ0YWZlM2ZmXzMtNy0xLTEtMjU3MDU_ff8f93b2-ae7d-4cd6-8e3a-fdac79980603"
      unitRef="usd">320013000</us-gaap:LongTermDebtFairValue>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ2MjM_25af8de7-7c3f-4c08-adc5-4f9167b38cf3">DERIVATIVES AND HEDGING ACTIVITIES&lt;div style="margin-top:9pt"&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;Risk Management Objective of Using Derivatives&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are exposed to certain risks arising from both our business operations and economic conditions. We manage exposure to a wide variety of business and operational risks through our core business activities. We manage economic risks, including interest rate, liquidity and credit risk primarily by overseeing the amount, sources and duration of debt funding and the use of derivative financial instruments. Specifically, we have entered into derivative financial instruments to manage exposure to interest rate movements that result in the receipt or payment of future known and uncertain cash amounts, the value of which &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;are determined by interest rates. Our derivative financial instruments are used to manage differences in the amount, timing and duration of our known or expected cash receipts and known or expected cash payments principally related to our investments and borrowings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Cash Flow Hedges of Interest Rate Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our purpose for using interest rate derivatives is to add stability to interest expense and to manage our exposure to interest rate movements. During the year ended December&#160;31, 2021, we used interest rate swaps to hedge the variable cash flows associated with existing variable-rate debt. Interest rate swaps designated as cash flow hedges involve the receipt of variable amounts from a counterparty in exchange for making fixed-rate payments over the life of the agreements without exchange of the underlying notional amount. We do not use derivatives for trading or speculative purposes and we currently do not have any derivatives that are not designated as hedges. As of December&#160;31, 2021, we have not posted any collateral related to these agreements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 had three interest rate swaps. One interest rate swap began July 30, 2021 and has a fixed notional amount of $200.0 million, a fixed rate of 0.51% and a maturity date of April&#160;15, 2030. We also had two interest rate swaps that began December 31, 2021, each with a fixed notional amount of $100.0 million, a fixed rate of 1.37%, and a maturity date of December 15, 2028. Together, these three swaps serve to hedge $400.0 million of the variable cash flows on our variable rate Term Loan through maturity. The assets and liabilities associated with these interest rate swaps are included in other non-current assets and other current liabilities on the Consolidated Balance Sheets at their fair value amounts as described in Note 10, Fair Value Measurements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 year ended December&#160;31, 2020, we terminated two then-existing interest rate swaps and one then-existing forward interest rate swap. We settled the terminated swaps by making a cash payment of $17.8&#160;million. This payment is classified within cash flows from operating activities within the Consolidated Statements of Cash Flows for the year ended December&#160;31, 2020. The unrealized loss included in accumulated other comprehensive loss associated with the terminated swaps of $17.8 million&#160;at the time of termination will be amortized to interest expense over the course of the originally scheduled settlement dates of the terminated swaps. During the years ended December&#160;31, 2021 and 2020, we amortized $3.2 million and $1.3 million, respectively, of the unrealized loss to interest expense, net. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the fair value of derivatives designated and that qualify as cash flow hedges are recorded in other comprehensive income, net of tax on the Consolidated Statements of Operations and Comprehensive Income and in accumulated other comprehensive income on the Consolidated Balance Sheets and subsequently reclassified into earnings in the period that the hedged forecasted transaction affects earnings. We had no such changes during the years ended December&#160;31, 2021 or 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amounts reported in accumulated other comprehensive income related to derivatives will be reclassified to interest expense, net as interest payments are made on our variable-rate debt. Over the next twelve months, we estimate that an additional $5.7 million will be reclassified as an increase to interest expense, net.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;LIBOR is used as a reference rate for our interest rate swap agreements we use to hedge our interest rate exposure. During the year ended December&#160;31, 2020, we adopted ASU 2020-04, Reference Rate Reform: Facilitation of the Effects of Reference Rate Reform on Financial Reporting (Topic 848). The purpose of this guidance is to provide relief for impacted areas as it relates to impending reference rate reform. We elected to apply the hedge accounting expedients related to probability and the assessments of effectiveness for future LIBOR-indexed cash flows to assume that the index upon which future hedged transactions will be based matches the index on the corresponding derivatives. Application of these expedients preserves the presentation of derivatives consistent with past presentation.&lt;/span&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <ibp:NumberOfSwaps
      contextRef="i3ef40e30607b43aa9584bdb89d2d2736_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzIxOTkwMjMyNjI1Mzc_4a2c0f4d-a2c0-4dc1-b3d8-d19080f60530"
      unitRef="swap">3</ibp:NumberOfSwaps>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i88cd50fc1eb241dea7013834ad37fbec_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMzE3NDg_caf80ec5-2def-472e-8d70-e784cc7d57c6"
      unitRef="usd">200000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="i88cd50fc1eb241dea7013834ad37fbec_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMzE3NTk_c5fe8963-2b78-457c-b8d4-1b1635d1b4a7"
      unitRef="number">0.0051</us-gaap:DerivativeFixedInterestRate>
    <ibp:NumberOfSwaps
      contextRef="i5a43271a90ee4a79ba02f4a0c70d73d0_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzIxOTkwMjMyNjI1NDY_8d65ec6e-a553-4be1-bd92-2d70dcaf998b"
      unitRef="swap">2</ibp:NumberOfSwaps>
    <ibp:NumberOfSwaps
      contextRef="i11c438989713404c87ab9ef5d25303c6_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzIxOTkwMjMyNjI1NDY_9137529d-d23d-4c24-a65d-bc2f0c4fe3f8"
      unitRef="swap">2</ibp:NumberOfSwaps>
    <us-gaap:DerivativeNotionalAmount
      contextRef="ie261aad47c0f4fdf898426c5b87c4ce2_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMzA0MTM_3a4d13ae-fa85-41ba-b1b0-47ce887e0650"
      unitRef="usd">100000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i67a9b373d83a447a9d45a345a40a7a70_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMzA0MTM_74ccd258-5693-449f-948f-a49ac12cccc6"
      unitRef="usd">100000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="ie261aad47c0f4fdf898426c5b87c4ce2_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMzA0NjE_2ea3f056-5ece-401f-9649-66279606d3a0"
      unitRef="number">0.0137</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="i67a9b373d83a447a9d45a345a40a7a70_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMzA0NjE_e0242586-d820-4c25-812f-8850a560c853"
      unitRef="number">0.0137</us-gaap:DerivativeFixedInterestRate>
    <ibp:NumberOfSwaps
      contextRef="i3ef40e30607b43aa9584bdb89d2d2736_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzIxOTkwMjMyNjI1NTY_4a2c0f4d-a2c0-4dc1-b3d8-d19080f60530"
      unitRef="swap">3</ibp:NumberOfSwaps>
    <us-gaap:DerivativeNotionalAmount
      contextRef="ifc6c8b2f2f1a45e08256be24ebba26d0_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMzA1NjQ_4c0f9e8c-1082-49ad-a67b-3209e072d21d"
      unitRef="usd">400000000</us-gaap:DerivativeNotionalAmount>
    <ibp:NumberOfTerminatedSwaps
      contextRef="i58b7ea3efe974b958299c0183c0588fb_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzE3OTg_2229dc00-925e-434d-85e9-a7e1513d9da2"
      unitRef="swap">2</ibp:NumberOfTerminatedSwaps>
    <ibp:NumberOfTerminatedSwaps
      contextRef="ifacfbdb7af69409494fa593c6ebe7949_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzIxOTkwMjMyNjI1NjQ_bbd5a38a-2116-4e77-942b-026ab1e27478"
      unitRef="swap">1</ibp:NumberOfTerminatedSwaps>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="if78887906ed548589ceafb0ca684b29a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzIwMTU_86a71d0e-0b1e-4e69-90aa-13665a99e3b1"
      unitRef="usd">17800000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeReclassificationForDiscontinuanceBeforeTax
      contextRef="iefdaa8c7852c4ad19676fddd2a88188b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzIyNzE_f087f8ff-d539-4082-83ac-f44aaefd99a2"
      unitRef="usd">17800000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeReclassificationForDiscontinuanceBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
      contextRef="ie44db8e07c47477b95efb2a6fcce0cdf_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzI0NjQ_6afa2f3b-5ce8-4728-ae2f-a060c3d62ca4"
      unitRef="usd">3200000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
      contextRef="i390d40add7cf4888b50313dffed830f4_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzQ5NDc4MDIzMjk5NDk_b7e4f062-ff0b-46d7-8e25-bf0c71897b89"
      unitRef="usd">1300000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax>
    <us-gaap:DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimatedNetAmountToBeTransferred
      contextRef="id26e1a812cd74d07859e859253712b38_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjEvZnJhZzoxNDY5NmI4OGViMzI0YjJkOTY5NWE0NTM3Mzg5NzVjNC90ZXh0cmVnaW9uOjE0Njk2Yjg4ZWIzMjRiMmQ5Njk1YTQ1MzczODk3NWM0XzM3NzY_078d6f29-c195-4292-ad3b-46598d7123fd"
      unitRef="usd">5700000</us-gaap:DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimatedNetAmountToBeTransferred>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzE4OTQ_b79a3867-acb7-4fb8-87c8-4d635603754b">STOCKHOLDERS&#x2019; EQUITY&lt;div style="margin-top:7pt"&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 and 2020, we had losses of $0.2 million and $8.8 million, respectively, in accumulated other comprehensive loss on our Consolidated Balance Sheets. The loss as of December&#160;31, 2021 represented the unrealized loss on our terminated interest rate swaps of&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $9.9 million&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;, net of taxes, less the effective portion of the unrealized gain on our interest rate swaps o&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;f $9.7 million&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;, net of taxes. The loss as of December&#160;31, 2020 represented the unrealized loss on our terminated interest rate swaps of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$12.2 million, net of tax, &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;less the effective portion of the unrealized gain on our forward interest rate swap o&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;f $3.4 million, net of tax&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 additional information, see Note 11, Derivatives and Hedging Activities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our board of directors approved a stock repurchase program whereby we are authorized to purchase shares of our outstanding common stock. As of December&#160;31, 2021,&lt;/span&gt;&lt;span style="background-color:#ffffff;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;we had $100.0&#160;million remaining under this repurchase program. &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On &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;February 24, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022, we announced that our board of directors extended the program end date from March 1, 2022 through March 1, 2023 and authorized an increase in the total amount of our outstanding common stock we can purchase up to $200.0&#160;million.&lt;/span&gt;&lt;span style="background-color:#ffffff;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;During the year ended December&#160;31, 2020, we repurchased 633&#160;thousand shares of our outstanding common stock with an aggregate price of approximately $33.9&#160;million, or $53.57 average price per share. We did not repurchase any shares during the year ended December&#160;31, 2021. The effect of these treasury shares reducing the number of common shares outstanding is reflected in our earnings per share calculation. In response to COVID-19, we temporarily suspended our share repurchase program from March 2020 until it was reinstated in November 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Dividends&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&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 year ended December 31, 2021, we declared and paid the following cash dividends (amount declared and amount paid 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&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:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.842%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Declaration Date&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:400;line-height:100%"&gt;Record Date&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:400;line-height:100%"&gt;Payment Date&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:400;line-height:100%"&gt;Dividend Per Share&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:400;line-height:100%"&gt;Amount Declared&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:400;line-height:100%"&gt;Amount Paid &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt 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;2/23/2021&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;border-top:1pt 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;3/15/2021&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;border-top:1pt 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;3/31/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 13pt 2px 0;text-align:right;vertical-align: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,907&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;8,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align: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/5/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6/15/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6/30/2021&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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 13pt 2px 1pt;text-align:right;vertical-align: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,910&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;8,821&#160;&lt;/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:right;vertical-align: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/5/2021&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;9/15/2021&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;9/30/2021&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 13pt 2px 1pt;text-align:right;vertical-align: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,912&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,821&#160;&lt;/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:right;vertical-align: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/4/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12/15/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12/31/2021&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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 13pt 2px 1pt;text-align:right;vertical-align: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,911&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;8,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amount of dividends declared may vary from the amount of dividends paid in a period due to the vesting of restricted stock awards and performance share awards, which accrue dividend equivalent rights that are paid when the award vests. The payment of future dividends will be at the discretion of our board of directors and will depend on our future earnings, capital requirements, financial condition, future prospects, results of operations, contractual restrictions, legal requirements, and other factors deemed relevant by our board of directors. We did not declare or pay any cash dividends on our capital stock during the year ended December 31, 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our credit facilities place restrictions on the amount of dividends and stock repurchases we can make during a fiscal year. See Note 8, Long-Term Debt, for more information.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3Xzcw_d513148b-ed77-450e-8195-71b4c93fcb3e"
      unitRef="usd">-200000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3Xzc3_9da229f9-b40f-4d1d-9962-e7b944c1d74a"
      unitRef="usd">-8800000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzI2Mg_da4ff1c9-94b8-48fc-b644-1d0c2ea75522"
      unitRef="usd">-9900000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzM2Nw_c1021874-016d-4b19-a05e-e5089ed69b65"
      unitRef="usd">9700000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzQ5NDc4MDIzMjgyNzk_335480ad-9820-434c-a454-4cc4280eb4b0"
      unitRef="usd">-12200000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzQ5NDc4MDIzMjgzOTE_5310338c-8925-43da-9a7e-0a96e8d60ba5"
      unitRef="usd">3400000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzEwNDQ1MzYwNDcxMjky_3a23a2c8-2446-4079-9dfa-15d9a07679b3"
      unitRef="usd">100000000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i3ecc61db5fed42fa83d71e53eb5b4468_I20220224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzIxOTkwMjMyNjQ0NjY_7f16b0b0-52eb-4f15-bb26-6f3ce9daf6ee"
      unitRef="usd">200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzQ5NDc4MDIzMjg5MDQ_2b5fb406-db5c-4fb3-b806-b5270d8876bc"
      unitRef="shares">633000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzQ5NDc4MDIzMjg5MTg_aebd9f42-39cf-486f-a48d-16bcf5d79d53"
      unitRef="usd">33900000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzQ5NDc4MDIzMjg5MTM_00e53d9a-e1b3-42b9-b6bb-316074b59806"
      unitRef="usdPerShare">53.57</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:DividendsDeclaredTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90ZXh0cmVnaW9uOmFmMzM5MDdlMGZhZjRiY2Y4Y2NiZmQ3MWI4MzgyNzQ3XzIxOTkwMjMyNjA1Njg_0b6736d5-6252-42a8-b87b-31968d5adc1b">&lt;div style="margin-top:7pt"&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 year ended December 31, 2021, we declared and paid the following cash dividends (amount declared and amount paid 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&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:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.842%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Declaration Date&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:400;line-height:100%"&gt;Record Date&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:400;line-height:100%"&gt;Payment Date&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:400;line-height:100%"&gt;Dividend Per Share&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:400;line-height:100%"&gt;Amount Declared&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:400;line-height:100%"&gt;Amount Paid &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt 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;2/23/2021&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;border-top:1pt 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;3/15/2021&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;border-top:1pt 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;3/31/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 13pt 2px 0;text-align:right;vertical-align: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,907&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;8,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align: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/5/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6/15/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6/30/2021&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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 13pt 2px 1pt;text-align:right;vertical-align: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,910&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;8,821&#160;&lt;/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:right;vertical-align: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/5/2021&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;9/15/2021&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;9/30/2021&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 13pt 2px 1pt;text-align:right;vertical-align: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,912&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,821&#160;&lt;/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:right;vertical-align: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/4/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12/15/2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12/31/2021&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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 13pt 2px 1pt;text-align:right;vertical-align: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,911&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;8,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DividendsDeclaredTableTextBlock>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i67eb0bb90a0c4a1aaca99ecb8a96ae19_D20210223-20210223"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzEtNi0xLTEtMzI5NTY_06f62911-0094-4e95-ae86-39ee5eeeda4e"
      unitRef="usdPerShare">0.30</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="i67eb0bb90a0c4a1aaca99ecb8a96ae19_D20210223-20210223"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzEtOC0xLTEtMzI5NjY_12a93275-f597-4611-a5fc-7bbed5f273a6"
      unitRef="usd">8907000</us-gaap:DividendsCommonStockCash>
    <us-gaap:PaymentsOfDividends
      contextRef="i7c1f47188815428bb49093ddb75251f1_D20210331-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzEtMTAtMS0xLTMyOTgy_74449ac6-2af1-4266-b8d6-5a6d904285b7"
      unitRef="usd">8786000</us-gaap:PaymentsOfDividends>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i19658202326d4f0b818727ad8cf98cae_D20210505-20210505"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzItNi0xLTEtMzI5NTY_121b4ba9-dcc0-4c95-95cb-127882c8c846"
      unitRef="usdPerShare">0.30</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="i19658202326d4f0b818727ad8cf98cae_D20210505-20210505"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzItOC0xLTEtMzI5NjY_f99372d6-9e81-410e-aa34-da7c89ac7d1e"
      unitRef="usd">8910000</us-gaap:DividendsCommonStockCash>
    <us-gaap:PaymentsOfDividends
      contextRef="ia84edf9588814522b3d278757d467714_D20210630-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzItMTAtMS0xLTMyOTgy_2b6c5b23-ec66-4ea5-8c47-b88b8cd1f5e0"
      unitRef="usd">8821000</us-gaap:PaymentsOfDividends>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="id13665b8ec024a1593825b6f58925896_D20210805-20210805"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzMtNi0xLTEtMzI5NTY_1fc1cc65-c287-4eb5-9114-ebdafff92c47"
      unitRef="usdPerShare">0.30</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="id13665b8ec024a1593825b6f58925896_D20210805-20210805"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzMtOC0xLTEtMzI5NjY_d31f94fd-9eee-4769-9965-b4af0209954f"
      unitRef="usd">8912000</us-gaap:DividendsCommonStockCash>
    <us-gaap:PaymentsOfDividends
      contextRef="iad26bdffccde47ebae19f4a602c73958_D20210930-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzMtMTAtMS0xLTMyOTgy_793fbb39-8dc3-4c65-9ca7-92354221f597"
      unitRef="usd">8821000</us-gaap:PaymentsOfDividends>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="iafa70dc7566a4cea8f110fc991c1623d_D20211104-20211104"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzQtNi0xLTEtMzI5NTY_9c6293fa-2f76-4c7c-94d9-57b3da814027"
      unitRef="usdPerShare">0.30</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="iafa70dc7566a4cea8f110fc991c1623d_D20211104-20211104"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzQtOC0xLTEtMzMwMzA_10661cf4-4e97-4f03-be82-f07a44355a8f"
      unitRef="usd">8911000</us-gaap:DividendsCommonStockCash>
    <us-gaap:PaymentsOfDividends
      contextRef="i1fc38b22f965405fac15ddffbfa834e5_D20211231-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjQvZnJhZzphZjMzOTA3ZTBmYWY0YmNmOGNjYmZkNzFiODM4Mjc0Ny90YWJsZTo2YjVkMWZlMjUxNmQ0M2JiODBlYjA1ZjQzMzBjYThjYi90YWJsZXJhbmdlOjZiNWQxZmUyNTE2ZDQzYmI4MGViMDVmNDMzMGNhOGNiXzQtMTAtMS0xLTMyOTk0_55041e43-c188-4e0b-903a-d244bc19e4f2"
      unitRef="usd">8866000</us-gaap:PaymentsOfDividends>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDk_1ac9c10f-135b-483c-afcb-30f7942ae8b2">EMPLOYEE BENEFITS&lt;div style="margin-top:7pt"&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;Healthcare&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We participate in multiple healthcare plans, the largest of which is partially self-funded with an insurance company paying benefits in excess of stop loss limits per individual/family. Our healthcare benefit expense (net of employee contributions) was approximately $28.4 million, $24.1 million and $21.9 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively, for all plans. An accrual for estimated healthcare claims incurred but not reported (&#x201c;IBNR&#x201d;) is included within accrued compensation on the Consolidated Balance Sheets and was $3.3 million and $3.1 million as of December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Workers&#x2019; Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We participate in multiple workers&#x2019; compensation plans. Under these plans, for a significant portion of our business, we use a high deductible program to cover losses above the deductible amount on a per claim basis. We accrue for the estimated losses occurring from both asserted and unasserted claims. Workers&#x2019; compensation liability for premiums is included in other current liabilities on the Consolidated Balance Sheets. Insurance claims and reserves include accruals of estimated settlements for known claims, as well as accruals of actuarial estimates of IBNR claims. In estimating these reserves, historical loss experience and judgments about the expected levels of costs per claim are considered. These claims are accounted for based on actuarial estimates of the undiscounted claims, including IBNR. We believe the use of actuarial methods to account for these liabilities provides a consistent and effective way to measure these highly judgmental accruals.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Workers&#x2019; compensation expense totaled $17.6 million, $15.7 million and $15.4 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively, and is included in cost of sales on the Consolidated Statements of Operations and Comprehensive Income. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Workers&#x2019; compensation known claims and IBNR reserves included on the Consolidated Balance Sheets were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.157%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.464%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.957%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.041%"/&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 5.5pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:0 1pt"/&gt;&lt;td colspan="3" style="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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Included in other current liabilities&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,703&#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:top"/&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;Included in other long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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:100%"&gt;13,397&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,986&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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;21,445&#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;19,689&#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="padding-left:490.5pt"&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also had an insurance receivable for claims that exceeded the stop loss limit for fully insured policies included on the Consolidated Balance Sheets. This receivable offsets an equal liability included within the reserve amounts noted above and was as follows (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;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.450%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.655%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.946%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.947%"/&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:400;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Included in other non-current assets&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;2,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,854&#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="margin-top:18pt"&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;Retirement Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We participate in multiple 401(k) plans, whereby we provide a matching contribution of wages deferred by employees and can also make discretionary contributions to each plan. Certain plans allow for discretionary employer contributions only. These plans cover substantially all our eligible employees. During the years ended December&#160;31, 2021, 2020 and 2019, we recognized 401(k) plan expenses of $2.5 million, $2.2 million and $2.0 million, respectively, which is included in administrative expenses on the accompanying Consolidated Statements of Operations and Comprehensive Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Multiemployer Pension Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We participate in various multiemployer pension plans under collective bargaining agreements in Washington, Oregon, California and Illinois with other companies in the construction industry. These plans cover our union-represented employees and contributions to these plans are expensed as incurred. These plans generally provide for retirement, death and/or termination benefits for eligible employees within the applicable collective bargaining units, based on specific eligibility/participation requirements, vesting periods and benefit formulas. We do not participate in any multiemployer pension plans that are considered to be individually significant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The risks of participating in these multiemployer pension plans are different from single-employer pension plans. For example:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Assets contributed to the multiemployer plan by one employer may be used to provide benefits to employees of other participating employers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;If a participating employer stops contributing to the multiemployer plan, the unfunded obligations of the plan may be borne by the remaining participating employers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;If a participating employer chooses to stop participating in these multiemployer plans, the employer may be required to pay those plans a withdrawal liability based upon the underfunded status of the plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also participate in various multiemployer health and welfare plans that cover both active and retired participants. Health care benefits are provided to participants who meet certain eligibility requirements under the applicable collective bargaining unit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contributions to multiemployer pension and health and welfare benefit plans were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:65.058%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.923%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.454%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Pension plans&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,783&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,128&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;809&#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:top"/&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;Health &amp;amp; welfare plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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:100%"&gt;2,893&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;952&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;674&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align: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 contributions&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;5,676&#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;2,080&#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;1,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The increase in contributions for the year ended December&#160;31, 2021 was driven by the acquisition of Alert Insulation in 2021 and a full year of operations for 2020 acquisitions Insulation Contractors/Magellan Insulation and Norkote, Inc. See Note 17, Business Combinations for more information. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Share-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Common Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We periodically grant shares of our common stock under our 2014 Omnibus Incentive Plan to non-employee members of our board of directors and our employees. During the years ended December&#160;31, 2021, 2020 and 2019, we granted approximately four thousand, six thousand and eight thousand shares of restricted stock, respectively, to non-employee members of our board of directors. Substantially all of the stock will vest over a one-year service period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, we granted approximately 0.1 million, 0.2 million and 0.1 million shares of our common stock to employees in each of the years ended December&#160;31, 2021, 2020 and 2019, respectively. Substantially all of the stock will vest in three equal installments (rounded to the nearest whole share) annually over a three-year service period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Performance-Based Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We periodically grant nonvested stock awards subject to performance-based vesting conditions to certain officers. During the year ended December&#160;31, 2021, we issued approximately 0.1&#160;million shares of our common stock which vest in two equal installments on each of April 20, 2022 and April 20, 2023. In addition, during the year ended December&#160;31, 2021, we established, and our board of directors approved, performance-based targets in connection with common stock awards to be issued to certain officers in 2022 contingent upon achievement of these targets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, there are long-term performance-based restricted stock awards to be issued to certain employees annually through 2022 contingent upon achievement of certain performance targets. These awards are accounted for as liability-based awards since they represent a predominantly-fixed monetary amount that will be settled with a variable number of common shares and as such are included in other current liabilities on the Consolidated Balance Sheets. During the years ended December&#160;31, 2021, 2020 and 2019 we granted approximately five&#160;thousand, seven&#160;thousand and 11&#160;thousand shares of our common stock, respectively, all of which will vest in 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Performance-Based Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During 2020, we established, and our board of directors approved, performance-based restricted stock units in connection with common stock awards which were issued to certain employees in 2021 based upon achievement of a performance target. In addition, during the year ended December&#160;31, 2021, we established, and our board of directors approved, performance-based restricted stock units in connection with common stock awards to be issued to certain employees in 2022 based upon achievement of a performance target. These units will be accounted for as equity-based awards that will be settled with a fixed number of common shares. During the years ended December&#160;31, 2021, 2020 and 2019 we granted approximately eight&#160;thousand, 14&#160;thousand and 14&#160;thousand units, respectively, each of which will vest over a one-year service period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Share-Based Compensation Summary&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amounts and changes for each category of equity-based award were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-right:13.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.736%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.824%"/&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 4.37pt;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;Common Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 3.25pt;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;Performance-Based Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 4.37pt;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;Performance-Based Restricted Stock Units&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 4.37pt;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;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align: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 Grant Date Fair Value Per Share&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 3.25pt;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;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align: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 Grant Date Fair Value Per Share&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 4.37pt;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;Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align: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 Grant Date Fair Value Per Share&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;Nonvested awards/units at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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.05&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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.97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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;55,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126.89&#160;&lt;/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:middle"&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="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(84,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,525)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,952)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Cancelled&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,101)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(539)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73.06&#160;&lt;/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;Nonvested awards/units at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the share-based compensation expense recognized under our 2014 Omnibus Incentive Plan (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:center"&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:47.953%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.423%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.488%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.423%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.488%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.425%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Common Stock Awards&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;5,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,116&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-Employee Common Stock Awards&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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/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;Performance-Based Stock Awards&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,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,034&#160;&lt;/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;Liability Performance-Based Stock Awards&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,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432&#160;&lt;/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;Performance-Based Restricted Stock Units&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;862&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;660&#160;&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,727&#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 style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recorded the following stock compensation expense, by income statement category (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:58.187%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.056%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.056%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.761%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;448&#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;284&#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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling&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;204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;Administrative&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,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Administrative stock compensation expense includes all stock compensation earned by our administrative personnel, while cost of sales and selling stock compensation represents all stock compensation earned by our installation and sales employees, respectively.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;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;We recognized windfall tax benefits of&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $1.7 million and &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;$0.3 million for the years ended December&#160;31, 2021 and 2019, and we recognized a tax shortfall of $0.3 million for the year ended December&#160;31, 2020, respectively, within the income tax provision in the Consolidated Statements of Operations and Comprehensive Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized share-based compensation expense related to unvested awards was as follows (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&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:58.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.392%"/&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:400;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized&lt;br/&gt;Compensation Expense&lt;br/&gt;on Unvested Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Remaining&lt;br/&gt;Vesting Period&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;Common Stock Awards&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;7,518&#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="3" style="background-color:#cceeff;border-top:1pt 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;1.7&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;Performance-Based Stock Awards&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,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.6&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;Performance-Based Restricted Stock Units&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;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;0.3&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;Total unrecognized compensation expense related to unvested awards&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;12,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total unrecognized compensation expense is subject to future adjustments for forfeitures. This expense is expected to be recognized over the remaining weighted-average period shown above on a straight-line basis except for the Performance-Based Stock Awards which uses the graded-vesting method. Shares forfeited are returned as treasury shares and available for future issuances.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 years ended December&#160;31, 2021, 2020 and 2019, our employees surrendered approximately 44&#160;thousand, 25 thousand and 45 thousand shares of our common stock under all plans, respectively, to satisfy tax withholding obligations arising in connection with the vesting of common stock awards issued under our 2014 Omnibus Incentive Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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, approximately 1.8 million of the 3.0 million shares of common stock authorized for issuance were available for issuance under the 2014 Omnibus Incentive Plan.&lt;/span&gt;&lt;/div&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <ibp:HealthInsuranceExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzMxMQ_dbb3877c-77f5-4f28-9384-7ef204f76b2c"
      unitRef="usd">28400000</ibp:HealthInsuranceExpense>
    <ibp:HealthInsuranceExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzMxNQ_174b67b2-36e0-4eaf-a509-831f23a99e2f"
      unitRef="usd">24100000</ibp:HealthInsuranceExpense>
    <ibp:HealthInsuranceExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzMyMg_a5d210d0-73cb-4be0-9d9c-5f485b328a48"
      unitRef="usd">21900000</ibp:HealthInsuranceExpense>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i1cd8ea6fa3b0442893254724b118d86e_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzU1MA_0815841d-6ef7-40a0-8b9f-773b9656516c"
      unitRef="usd">3300000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i1af91c840828473999c93cb7a345a460_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzU1OA_fc59b0ce-8625-4a46-a566-78f93ae4770c"
      unitRef="usd">3100000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <ibp:WorkersCompensationExpense
      contextRef="i6d9ebf8bd02641c1b82c64bf90f3fb45_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzE2MjI_0ecc82d8-a708-4bf1-af1c-5c38ed1a0d02"
      unitRef="usd">17600000</ibp:WorkersCompensationExpense>
    <ibp:WorkersCompensationExpense
      contextRef="i0bb68e98fbe74f36bb3857f6dd061db2_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzE2MjY_655dcca1-94d1-4095-a4af-4e2b6fbfc7bc"
      unitRef="usd">15700000</ibp:WorkersCompensationExpense>
    <ibp:WorkersCompensationExpense
      contextRef="i698d5b614c864ce7adb8edc97fda7b1b_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzE2MzM_2a576027-30d2-4029-8335-d356240b6457"
      unitRef="usd">15400000</ibp:WorkersCompensationExpense>
    <ibp:ScheduleOfEmployeeRelatedLiabilitiesTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDQ_e67459fe-f2cd-4c89-9c73-961fd4375631">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Workers&#x2019; compensation known claims and IBNR reserves included on the Consolidated Balance Sheets were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.157%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.464%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.957%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.041%"/&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 5.5pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:0 1pt"/&gt;&lt;td colspan="3" style="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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Included in other current liabilities&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,703&#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:top"/&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;Included in other long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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:100%"&gt;13,397&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,986&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #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;21,445&#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;19,689&#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;</ibp:ScheduleOfEmployeeRelatedLiabilitiesTableTextBlock>
    <us-gaap:WorkersCompensationLiabilityCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTplMzllZWU2N2IwZGI0YmYzYWI1N2E4MWMzOTg5OWE3Yi90YWJsZXJhbmdlOmUzOWVlZTY3YjBkYjRiZjNhYjU3YTgxYzM5ODk5YTdiXzItMS0xLTEtMjU3MDU_317eb48f-e35a-4ea6-923e-e8a037f8ea27"
      unitRef="usd">8048000</us-gaap:WorkersCompensationLiabilityCurrent>
    <us-gaap:WorkersCompensationLiabilityCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTplMzllZWU2N2IwZGI0YmYzYWI1N2E4MWMzOTg5OWE3Yi90YWJsZXJhbmdlOmUzOWVlZTY3YjBkYjRiZjNhYjU3YTgxYzM5ODk5YTdiXzItMy0xLTEtMjU3MDU_ade979da-99c2-47d1-b6e0-65c5b95f63c7"
      unitRef="usd">7703000</us-gaap:WorkersCompensationLiabilityCurrent>
    <us-gaap:WorkersCompensationLiabilityNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTplMzllZWU2N2IwZGI0YmYzYWI1N2E4MWMzOTg5OWE3Yi90YWJsZXJhbmdlOmUzOWVlZTY3YjBkYjRiZjNhYjU3YTgxYzM5ODk5YTdiXzMtMS0xLTEtMjU3MDU_36edde40-f525-4a8d-b304-51ebab513514"
      unitRef="usd">13397000</us-gaap:WorkersCompensationLiabilityNoncurrent>
    <us-gaap:WorkersCompensationLiabilityNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTplMzllZWU2N2IwZGI0YmYzYWI1N2E4MWMzOTg5OWE3Yi90YWJsZXJhbmdlOmUzOWVlZTY3YjBkYjRiZjNhYjU3YTgxYzM5ODk5YTdiXzMtMy0xLTEtMjU3MDU_3f70ccac-83f4-465e-a432-7366d3e5ac23"
      unitRef="usd">11986000</us-gaap:WorkersCompensationLiabilityNoncurrent>
    <us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTplMzllZWU2N2IwZGI0YmYzYWI1N2E4MWMzOTg5OWE3Yi90YWJsZXJhbmdlOmUzOWVlZTY3YjBkYjRiZjNhYjU3YTgxYzM5ODk5YTdiXzQtMS0xLTEtMjU3MDU_9ba5e90d-a397-402a-a3d8-a04afd4be042"
      unitRef="usd">21445000</us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTplMzllZWU2N2IwZGI0YmYzYWI1N2E4MWMzOTg5OWE3Yi90YWJsZXJhbmdlOmUzOWVlZTY3YjBkYjRiZjNhYjU3YTgxYzM5ODk5YTdiXzQtMy0xLTEtMjU3MDU_0c254243-0b22-48de-96e1-44a9196ab924"
      unitRef="usd">19689000</us-gaap:WorkersCompensationLiabilityCurrentAndNoncurrent>
    <ibp:ScheduleOfInsuranceLossReservesForInsuredObligationsTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDU_fff73683-86e0-4de1-a178-8796571bf879">This receivable offsets an equal liability included within the reserve amounts noted above and was as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.450%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.655%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.946%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.947%"/&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:400;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Included in other non-current assets&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;2,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,854&#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;</ibp:ScheduleOfInsuranceLossReservesForInsuredObligationsTableTextBlock>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTowYzRmMzVlYzUyMzQ0NTk3YmFlMjMxZjVlZmU3OGUzMS90YWJsZXJhbmdlOjBjNGYzNWVjNTIzNDQ1OTdiYWUyMzFmNWVmZTc4ZTMxXzItMS0xLTEtMjU3MDU_79ec3262-c170-4bdc-925b-8701a96f73ec"
      unitRef="usd">2137000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTowYzRmMzVlYzUyMzQ0NTk3YmFlMjMxZjVlZmU3OGUzMS90YWJsZXJhbmdlOjBjNGYzNWVjNTIzNDQ1OTdiYWUyMzFmNWVmZTc4ZTMxXzItMy0xLTEtMjU3MDU_fed45662-f8e2-4ac3-a1ab-b1a5d35f5b46"
      unitRef="usd">1854000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzI2MDA_7dfdca96-c88d-4159-8b0a-c2d286caa7bc"
      unitRef="usd">2500000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzI2MDQ_fda997ba-c6b0-460c-a312-dc853c3aac50"
      unitRef="usd">2200000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzI2MTE_2018548f-5ad0-4411-8acc-7c4c228796b8"
      unitRef="usd">2000000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:ScheduleOfMultiemployerPlansTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMTI_1af25afd-39d4-498e-8aba-659bbb877f5c">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contributions to multiemployer pension and health and welfare benefit plans were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:65.058%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.923%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.454%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Pension plans&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,783&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,128&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;809&#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:top"/&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;Health &amp;amp; welfare plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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:100%"&gt;2,893&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;952&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;674&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align: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 contributions&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;5,676&#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;2,080&#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;1,483&#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:ScheduleOfMultiemployerPlansTableTextBlock>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="iae52725825994c9ab84a9661235ee856_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzItMS0xLTEtMjU3MDU_8a9688ce-dad7-4307-8203-c3b4d017a004"
      unitRef="usd">2783000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="i9f16bbb6252c47dbbeccf26c75d9c9a5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzItMy0xLTEtMjU3MDU_f6496a86-ac60-45f9-88ba-7f78b3005c36"
      unitRef="usd">1128000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="i7d4820a1becb43ea84726b340125e250_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzItNS0xLTEtMjU3MDU_deb994cf-dd9e-41e7-95c9-12891c573c2a"
      unitRef="usd">809000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="ia9fc1a567cbf4c58876c79f44eba101d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzMtMS0xLTEtMjU3MDU_388015e5-06c7-4a93-975c-188e842fc3ca"
      unitRef="usd">2893000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="ia2eb5b52c32b4671a71a413fc126c2cd_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzMtMy0xLTEtMjU3MDU_ada087a8-0aa3-4766-bbb4-7be44630ffe0"
      unitRef="usd">952000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="i412a0256cb904596a1a413311c9a480f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzMtNS0xLTEtMjU3MDU_ddeba7fc-87ff-4166-989b-863ef40ccd67"
      unitRef="usd">674000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzQtMS0xLTEtMjU3MDU_871f81e4-c712-4cc0-9187-7aa3eb2ff595"
      unitRef="usd">5676000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzQtMy0xLTEtMjU3MDU_a78165c4-1e74-49e0-8bc5-e0474c33b6a8"
      unitRef="usd">2080000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:MultiemployerPlanEmployerContributionCost
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo2MmVhODgxOGZkZDQ0Yzc0OWZmMGRkNzI2NTlkNDYwNy90YWJsZXJhbmdlOjYyZWE4ODE4ZmRkNDRjNzQ5ZmYwZGQ3MjY1OWQ0NjA3XzQtNS0xLTEtMjU3MDU_644afb6a-80bc-4236-909d-9f33bbec58f3"
      unitRef="usd">1483000</us-gaap:MultiemployerPlanEmployerContributionCost>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i53ef526beb2443658c542481846eaf88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzQ5MTc_860ba80f-169b-4224-a4ad-1f599a90e30d"
      unitRef="shares">4000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i2b2c10ceabeb438ab086cd2f69ecc3d3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzQ5MjE_5aa3e3a7-3941-4e2f-b5f1-357d1b7d285d"
      unitRef="shares">6000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i046f37f1ab214c3e9eb5290179b3d2d7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzQ5Mjg_d27af8e0-7d2d-42d7-99f2-890fd2695925"
      unitRef="shares">8000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i53ef526beb2443658c542481846eaf88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDY_1868e394-76cf-4cdf-8e2e-3b92d7a82fab">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzUxMzY_9375dd6c-bf96-4a2e-b1a6-b03136845686"
      unitRef="shares">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzUxNDA_dd02b3cd-9222-495f-8a93-8f5c8d2c59a2"
      unitRef="shares">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzUxNDc_de2a358b-7787-4c86-b819-35226185f83d"
      unitRef="shares">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <ibp:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfEqualInstallmentsForVestingOfStockAwards
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzUyOTE_37789665-be40-4c0a-a913-d286750a6c0c"
      unitRef="installment">3</ibp:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfEqualInstallmentsForVestingOfStockAwards>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDc_4dc634dd-ee18-4a8a-a64f-d9a180c9d4a0">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i3499473dd14a49bcb7177cff2f04ae4d_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzU1ODg_b6b8ea84-ccca-4e2d-9cc4-be9c2dbd0590"
      unitRef="shares">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <ibp:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfEqualInstallmentsForVestingOfStockAwards
      contextRef="i3499473dd14a49bcb7177cff2f04ae4d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzU2MzI_1c09f095-b98f-42f2-a297-0f97ab6c9c95"
      unitRef="installment">2</ibp:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfEqualInstallmentsForVestingOfStockAwards>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i24b1182e111b4e27976f1dcec71bc9c3_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDI_3940e146-a6b4-4495-a554-af47edfe4a13">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMTA_a0658fdb-8aeb-42ec-acb6-0545f50332fb">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amounts and changes for each category of equity-based award were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-right:13.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.736%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.824%"/&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 4.37pt;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;Common Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 3.25pt;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;Performance-Based Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 4.37pt;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;Performance-Based Restricted Stock Units&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 4.37pt;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;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align: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 Grant Date Fair Value Per Share&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 3.25pt;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;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align: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 Grant Date Fair Value Per Share&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 4.37pt;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;Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align: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 Grant Date Fair Value Per Share&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;Nonvested awards/units at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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.05&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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.97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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;55,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126.89&#160;&lt;/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:middle"&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="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(84,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,525)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,952)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Cancelled&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,101)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(539)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73.06&#160;&lt;/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;Nonvested awards/units at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="i04d84d945c84468090b3afa61946a2d7_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzItMS0xLTEtMjU3MDU_6be35f94-c1cb-43cd-9bc0-40e59d0c3afb"
      unitRef="shares">231280</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i04d84d945c84468090b3afa61946a2d7_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzItMy0xLTEtMjU3MDU_2460c768-3725-42c0-b3de-36e0f8e83abf"
      unitRef="usdPerShare">48.05</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i0c1b9c9e2d644915b62d6994617f5c31_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzItNS0xLTEtMjU3MDU_751ab014-e70e-40ea-94f8-5073f96c0773"
      unitRef="shares">166961</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i0c1b9c9e2d644915b62d6994617f5c31_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzItNy0xLTEtMjU3MDU_cc6f1802-7d20-4404-85c3-0d91f3bb48a6"
      unitRef="usdPerShare">59.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ie87c842fbf364ce9b3426c3bbf33036d_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzItOS0xLTEtMjU3MDU_f3e27df9-5d51-4873-9ae8-94d1e8c4c44d"
      unitRef="shares">13273</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ie87c842fbf364ce9b3426c3bbf33036d_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzItMTEtMS0xLTI1NzA1_8e59f145-a891-4c58-a78d-0359bb1a168f"
      unitRef="usdPerShare">36.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzMtMS0xLTEtMjU3MDU_d6a70665-2965-480a-8ac9-ed8f6a3d2e41"
      unitRef="shares">55815</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzMtMy0xLTEtMjU3MDU_5d0c6189-5483-4844-9f34-cbcc50168340"
      unitRef="usdPerShare">124.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzMtNS0xLTEtMjU3MDU_4cc196a9-9233-4595-bad4-6bea800e2955"
      unitRef="shares">42449</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzMtNy0xLTEtMjU3MDU_cdc83cf5-0c11-4e86-ac26-d3306e2e416e"
      unitRef="usdPerShare">123.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ia84bbfd252e64629a1cf748481f7c9f2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzMtOS0xLTEtMjU3MDU_4c01f14b-73ba-48f3-8815-3b1ef4e1652b"
      unitRef="shares">8470</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia84bbfd252e64629a1cf748481f7c9f2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzMtMTEtMS0xLTI1NzA1_4245ee0b-0403-4c16-a768-8ce003ed5d39"
      unitRef="usdPerShare">126.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzQtMS0xLTEtMjU3MDU_aa0a64d9-880a-4e73-8cd9-bb794806ad8b"
      unitRef="shares">84641</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzQtMy0xLTEtMjU3MDU_f95f30f7-875b-43d6-ae4f-0d767e24c97b"
      unitRef="usdPerShare">48.87</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzQtNS0xLTEtMjU3MDU_32e316fa-3331-4cf4-8d7b-073ef6beed46"
      unitRef="shares">64525</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzQtNy0xLTEtMjU3MDU_a9591d26-95d6-4275-b286-cb4fad6e5dc3"
      unitRef="usdPerShare">52.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ia84bbfd252e64629a1cf748481f7c9f2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzQtOS0xLTEtMjU3MDU_63f1f8e0-e66d-4063-969c-7ffb55aa7d63"
      unitRef="shares">12952</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia84bbfd252e64629a1cf748481f7c9f2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzQtMTEtMS0xLTI1NzA1_9befe03d-2219-46ba-811f-a8acbae24c0c"
      unitRef="usdPerShare">36.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzUtMS0xLTEtMjU3MDU_5ba995d6-c0b9-468a-844d-fefb857ee510"
      unitRef="shares">3101</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzUtMy0xLTEtMjU3MDU_8e072f42-4778-41cf-ba74-9759a34de8e6"
      unitRef="usdPerShare">62.36</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzUtNS0xLTEtMjU3MDU_64f67da0-df8c-463d-b96d-ca53eb096d19"
      unitRef="shares">1484</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzUtNy0xLTEtMjU3MDU_48f039c4-f0b0-4e8d-b20b-42513eb296ec"
      unitRef="usdPerShare">123.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ia84bbfd252e64629a1cf748481f7c9f2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzUtOS0xLTEtMjU3MDU_45352465-66fe-4262-bea2-2bfece40fb9a"
      unitRef="shares">539</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ia84bbfd252e64629a1cf748481f7c9f2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzUtMTEtMS0xLTI1NzA1_7a21c18d-6047-4a11-af42-05144af3e5a2"
      unitRef="usdPerShare">73.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="ifdfe2b83aa9049678b07e435343224d3_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzYtMS0xLTEtMjU3MDU_73786c49-b6b6-49ea-b241-2f803c1fad9e"
      unitRef="shares">199353</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ifdfe2b83aa9049678b07e435343224d3_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzYtMy0xLTEtMjU3MDU_f0175386-78c6-439f-b95b-46f91a47a054"
      unitRef="usdPerShare">68.99</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i3ce1bf096e04458ebf3516116ee5abff_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzYtNS0xLTEtMjU3MDU_0f0e2750-ca85-4615-8646-7f216bc8b2e5"
      unitRef="shares">143401</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i3ce1bf096e04458ebf3516116ee5abff_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzYtNy0xLTEtMjU3MDU_d9a1884c-bab7-48d7-aece-1f8ddd9c437a"
      unitRef="usdPerShare">81.30</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ia8008895985c4b038718a55995db0d84_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzYtOS0xLTEtMjU3MDU_e7fd3208-219e-4260-ba21-20d5deb70a5b"
      unitRef="shares">8252</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ia8008895985c4b038718a55995db0d84_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZToyNmYwOTY0NDhjZmU0NjhhOTEwNGYyODUwNjRlNGU0OC90YWJsZXJhbmdlOjI2ZjA5NjQ0OGNmZTQ2OGE5MTA0ZjI4NTA2NGU0ZTQ4XzYtMTEtMS0xLTI1NzA1_811f323e-9b4c-4726-b6c9-bd72d47df000"
      unitRef="usdPerShare">126.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDM_914d63d9-b9de-4de8-9704-f96e6a1db43e">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the share-based compensation expense recognized under our 2014 Omnibus Incentive Plan (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:center"&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:47.953%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.423%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.488%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.423%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.488%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.425%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Common Stock Awards&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;5,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,116&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-Employee Common Stock Awards&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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/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;Performance-Based Stock Awards&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,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,034&#160;&lt;/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;Liability Performance-Based Stock Awards&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,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432&#160;&lt;/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;Performance-Based Restricted Stock Units&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;862&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;660&#160;&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,727&#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 style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recorded the following stock compensation expense, by income statement category (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:58.187%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.056%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.056%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.761%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;448&#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;284&#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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling&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;204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;Administrative&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,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i660c6b3719e743cc91c81a2f5d09ee9e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzItMS0xLTEtMjU3MDU_3e731791-e09e-4dad-a84e-a06e2c86fd60"
      unitRef="usd">5285000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie3c16b11d8c04474b7224e1c81070f4b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzItMy0xLTEtMjU3MDU_2b134afd-fa9d-4d8d-9e0b-8efe260a78f7"
      unitRef="usd">4116000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i12a490bcd6e54fa39ef87761075bce15_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzItNS0xLTEtMjU3MDU_589e8908-34fe-4e0d-a05d-772a30a9c01d"
      unitRef="usd">4242000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i132c64cddb73455a92156d96655fdbd4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzMtMS0xLTEtMjU3MDU_8ade7f71-2e93-4262-acb7-0ae63a7d2e1a"
      unitRef="usd">465000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i75172e0d12aa41e897f3008a254f2d6e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzMtMy0xLTEtMjU3MDU_9e1c6740-ee1a-4296-8802-c6de837e8e11"
      unitRef="usd">333000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i21b8339fac20406f9994550dc089019f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzMtNS0xLTEtMjU3MDU_90867832-14dc-4bf7-9e13-5ae0f3dbb640"
      unitRef="usd">359000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i76b68257c8204049a3fce20ee83b8cc7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzQtMS0xLTEtMjU3MDU_536ba52b-fcef-410c-9ec4-dceeea6db9c3"
      unitRef="usd">4528000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if06bdd85069643119ec0cb06036459ac_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzQtMy0xLTEtMjU3MDU_0d47a989-af8c-4c0f-9ac1-cf7e9bdf6fe0"
      unitRef="usd">3869000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia153aa0a9f3943a8be4ccff4cf2753a4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzQtNS0xLTEtMjU3MDU_d805ca5f-7048-4260-aaea-7df540be48e3"
      unitRef="usd">3034000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7487da7a982c4aba8a197fa3295dfcd0_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzUtMS0xLTEtMjU3MDU_f166cf34-fbf7-4c97-90a3-cad11e3a379e"
      unitRef="usd">2612000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i88ac52e5e41b4557b5639cb817c6d660_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzUtMy0xLTEtMjU3MDU_c7e6606a-eb57-49e0-9dba-1779a5fc322e"
      unitRef="usd">1969000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i150d92e10210460693ad12ff2665bf74_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzUtNS0xLTEtMjU3MDU_dc30eb63-4867-430c-abff-6c0d41766f99"
      unitRef="usd">432000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i239edba4bcdf4ab6948b2b5aebaf5d26_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzYtMS0xLTEtMjU3MDU_e1d067fc-5af8-4e69-a99e-d2c12dc1efea"
      unitRef="usd">862000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5b996b49bf634fb4bbf0799024d11963_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzYtMy0xLTEtMjU3MDU_91cb03fe-f368-41c6-980c-c6f39475025f"
      unitRef="usd">539000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0df4303895db47fca920b9891c363fcd_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzYtNS0xLTEtMjU3MDU_67f6ce07-1139-4405-af06-4f07d22dc73b"
      unitRef="usd">660000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ida41e4320bf2444bab679eeadc7c1070_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzctMS0xLTEtMjU3MDU_78010ac9-fb23-4c58-9446-8b7bed247af8"
      unitRef="usd">13752000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie4a1744c27024b2e92b88bd4ff34cb56_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzctMy0xLTEtMjU3MDU_9141d7d2-0ac1-402f-8d3c-df0f5343246d"
      unitRef="usd">10826000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7bc81b431d3f4ea2ba523e5c6ac13017_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTozZjJiNDFiMTIxZGQ0OTExYTExM2RjZjhjMDgxYzg4Zi90YWJsZXJhbmdlOjNmMmI0MWIxMjFkZDQ5MTFhMTEzZGNmOGMwODFjODhmXzctNS0xLTEtMjU3MDU_9e044538-fd76-4bd2-84ce-c923ce2e7cab"
      unitRef="usd">8727000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6d9ebf8bd02641c1b82c64bf90f3fb45_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzItMS0xLTEtMjU3MDU_c6b847c7-481e-4d4b-aa56-cb4eaaf80096"
      unitRef="usd">448000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0bb68e98fbe74f36bb3857f6dd061db2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzItMy0xLTEtMjU3MDU_a611a2ec-0499-4845-953e-60f88891f02c"
      unitRef="usd">284000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i698d5b614c864ce7adb8edc97fda7b1b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzItNS0xLTEtMjU3MDU_7764c73b-efd8-4d27-ae92-19bf83a24009"
      unitRef="usd">374000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icee42756884b4784bf462a9bce295f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzMtMS0xLTEtMjU3MDU_f47f6b7d-4d82-4ea5-9959-67d936cd072b"
      unitRef="usd">204000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3f56c8daeaa9422696533e13776df348_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzMtMy0xLTEtMjU3MDU_aca05842-480b-4bb4-9871-a2d6ac13c0bc"
      unitRef="usd">202000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i04c3b4297dd24a4da29f27e23462b3c0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzMtNS0xLTEtMjU3MDU_253579c2-6f0f-4a7e-9857-918c5ed9f5b9"
      unitRef="usd">194000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic0b253c9485e441ebeeced1dc5f9ece2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzQtMS0xLTEtMjU3MDU_edfef0df-d9e6-4f12-b83c-9f77f0687696"
      unitRef="usd">13100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iaa6b3542b0324695bcb04b5996d6ac85_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzQtMy0xLTEtMjU3MDU_78965432-f4d0-400c-b7d6-8e2438a2630e"
      unitRef="usd">10340000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie4c61b860ec045a28ac1b818917284e1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzQtNS0xLTEtMjU3MDU_31056c53-6d8f-42b1-a868-52f34c02ba5e"
      unitRef="usd">8159000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzUtMS0xLTEtMjU3MDU_e6648610-3b51-4dfd-b54d-c9688fd90277"
      unitRef="usd">13752000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzUtMy0xLTEtMjU3MDU_f9a68b74-e60b-4ce6-a9d3-d7791862e63e"
      unitRef="usd">10826000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5OTQ0MmJhYjc4MzU0Yzc4OTNlYjU5MTAyNTA3MmI4Mi90YWJsZXJhbmdlOjk5NDQyYmFiNzgzNTRjNzg5M2ViNTkxMDI1MDcyYjgyXzUtNS0xLTEtMjU3MDU_1943ec89-cadb-4fdf-baed-0740bb927b86"
      unitRef="usd">8727000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="id997f5ca8822469685f52cc1bafe8f20_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzc4OTY_bad2ccaa-771c-48af-9857-08d6b9a4a2b2"
      unitRef="usd">1700000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i8fb1795b55174b1eb3b7c413164e9d8e_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzQ5NDc4MDIzMzQ3MDg_b2c2fa3c-c204-453e-839a-42658a09fb2a"
      unitRef="usd">300000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i48f26274f0334c15863617b22ee8a6cd_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzEwOTk1MTE2MzY5MDI_53c109ea-e5a9-43ba-889d-c13bd812e0b2"
      unitRef="usd">-300000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzkxMDg_81521eac-4481-4563-9b0f-f0345e9c61ce">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized share-based compensation expense related to unvested awards was as follows (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&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:58.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.392%"/&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:400;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized&lt;br/&gt;Compensation Expense&lt;br/&gt;on Unvested Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average&lt;br/&gt;Remaining&lt;br/&gt;Vesting Period&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;Common Stock Awards&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;7,518&#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="3" style="background-color:#cceeff;border-top:1pt 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;1.7&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;Performance-Based Stock Awards&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,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.6&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;Performance-Based Restricted Stock Units&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;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;0.3&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;Total unrecognized compensation expense related to unvested awards&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;12,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ifdfe2b83aa9049678b07e435343224d3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5YzUxZjBkMmY1MWY0Mjk3YWZjNGQzNjRkNjg1OGU0OC90YWJsZXJhbmdlOjljNTFmMGQyZjUxZjQyOTdhZmM0ZDM2NGQ2ODU4ZTQ4XzItMS0xLTEtMjU3MDU_3a1612f7-a65e-404f-ad9c-7b4222a9e484"
      unitRef="usd">7518000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i9cbb80a80987458080d67bc824dd7113_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5YzUxZjBkMmY1MWY0Mjk3YWZjNGQzNjRkNjg1OGU0OC90YWJsZXJhbmdlOjljNTFmMGQyZjUxZjQyOTdhZmM0ZDM2NGQ2ODU4ZTQ4XzItMy0xLTEtMjU3MDU_5a925720-a4bc-44fc-9c38-62efac83e3c0">P1Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i3ce1bf096e04458ebf3516116ee5abff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5YzUxZjBkMmY1MWY0Mjk3YWZjNGQzNjRkNjg1OGU0OC90YWJsZXJhbmdlOjljNTFmMGQyZjUxZjQyOTdhZmM0ZDM2NGQ2ODU4ZTQ4XzMtMS0xLTEtMjU3MDU_aaa87ac6-b0d9-4f6e-b379-1fc93f8144fa"
      unitRef="usd">4832000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i49b22c8c5e944598bbffb2906745cfd5_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5YzUxZjBkMmY1MWY0Mjk3YWZjNGQzNjRkNjg1OGU0OC90YWJsZXJhbmdlOjljNTFmMGQyZjUxZjQyOTdhZmM0ZDM2NGQ2ODU4ZTQ4XzMtMy0xLTEtMjU3MDU_2a233dd0-d391-4ac6-89f2-7dca280656c2">P1Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i1715f738f8b242d592885de15b23a415_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5YzUxZjBkMmY1MWY0Mjk3YWZjNGQzNjRkNjg1OGU0OC90YWJsZXJhbmdlOjljNTFmMGQyZjUxZjQyOTdhZmM0ZDM2NGQ2ODU4ZTQ4XzQtMS0xLTEtMjU3MDU_ea84b817-1335-44ad-b508-e0f6e89db015"
      unitRef="usd">301000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i24b1182e111b4e27976f1dcec71bc9c3_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5YzUxZjBkMmY1MWY0Mjk3YWZjNGQzNjRkNjg1OGU0OC90YWJsZXJhbmdlOjljNTFmMGQyZjUxZjQyOTdhZmM0ZDM2NGQ2ODU4ZTQ4XzQtMy0xLTEtMjU3MDU_5c9755bd-78da-4c2a-98e2-73a52375e354">P0Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90YWJsZTo5YzUxZjBkMmY1MWY0Mjk3YWZjNGQzNjRkNjg1OGU0OC90YWJsZXJhbmdlOjljNTFmMGQyZjUxZjQyOTdhZmM0ZDM2NGQ2ODU4ZTQ4XzUtMS0xLTEtMjU3MDU_2e09016d-9271-461a-9308-287f5d6c40a5"
      unitRef="usd">12651000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="ida41e4320bf2444bab679eeadc7c1070_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzg3MzI_572e4138-d6f8-4cd4-a03d-2f1dceafb7b6"
      unitRef="shares">44000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="ie4a1744c27024b2e92b88bd4ff34cb56_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzg3MzY_402adb44-8a33-4f8d-aca6-eab43a194ebf"
      unitRef="shares">25000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="i7bc81b431d3f4ea2ba523e5c6ac13017_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzg3NDM_8fbd0665-f242-46f7-87c5-e9a94c1aa0f6"
      unitRef="shares">45000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="idb4aa06027d24e728e5a1f969043a65c_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzg5NzY_6a2343ff-4cd5-4bd1-bc36-ff7932cb3f79"
      unitRef="shares">1800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="idb4aa06027d24e728e5a1f969043a65c_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMjcvZnJhZzowZTA1MDEyMjNjODA0OWY2OTRlODE0ZWJiZjQyN2Y5ZS90ZXh0cmVnaW9uOjBlMDUwMTIyM2M4MDQ5ZjY5NGU4MTRlYmJmNDI3ZjllXzg5ODY_d326d90c-6d1b-486d-bbdb-e9672c8944d4"
      unitRef="shares">3000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzI1NTc_e759e853-ac81-4344-8056-5e4194b39309">INCOME TAXES&lt;div style="margin-top:7pt"&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 is comprised of (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:61.842%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.467%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.982%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.467%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.982%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.469%"/&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="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:400;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: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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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;27,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;33,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;14,850&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&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;10,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;8,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,127&#160;&lt;/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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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:&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 2px 13pt;text-align:left;vertical-align:bottom"&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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,177)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,585&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&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;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,298)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;884&#160;&lt;/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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(438)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,475)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total tax expense&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;36,712&#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;33,938&#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;24,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;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:10pt;font-weight:400;line-height:120%"&gt;The reconciliation between our effective tax rate on net income and the federal statutory rate is as follows (dollars in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="border-bottom: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;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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:400;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;Income tax at federal statutory rate&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;32,650&#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;border-top:1pt solid #000;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;21.0&#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;span style="color:#000000;font-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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,547&#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;border-top:1pt solid #000000;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;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,447&#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;border-top:1pt solid #000000;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;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/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;Stock compensation&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,567)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other permanent items&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,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&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;(922)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(207)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in 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;(2,867)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income taxes, net of federal benefit&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,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total tax expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;36,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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 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;33,938&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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 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;24,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.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;span style="color:#000000;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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of the net deferred tax asset or liability are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:70.760%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.916%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.875%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.876%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Deferred Tax Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and allowances&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;10,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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,106&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts&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;979&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;987&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories&lt;/span&gt;&lt;/td&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;900&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&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;333&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;280&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangibles&lt;/span&gt;&lt;/td&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;7,042&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,582&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards&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;1,049&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;1,206&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align: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 deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,517&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;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,579&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/td&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;(216)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,263)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align: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 deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,301&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;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,316&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and allowances&lt;/span&gt;&lt;/td&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;(669)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(151)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&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;(7,629)&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;(4,587)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangibles&lt;/span&gt;&lt;/td&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;(6,783)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,810)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investment in partnership&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;(8,271)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,660)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&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;(793)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(650)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,145)&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;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,858)&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 deferred tax (liabilities) assets&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;(3,844)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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 #000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;The above amounts are included in our Consolidated Balance Sheets as follows:&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 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;Other non-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;975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term deferred income tax liabilities&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,819)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax (liabilities) assets&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;(3,844)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&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;As of December&#160;31, 2021, we had a deferred tax asset balance of $1.0 million reflecting the benefit of $4.8 million in federal and state income tax net operating loss (NOL) carryforwards, the earliest of which expires in 2030.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Valuation Allowance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We assess the available positive and negative evidence to estimate if sufficient future taxable income will be generated to utilize the existing deferred tax assets on a jurisdiction and by tax filing entity basis. A significant piece of objective negative evidence evaluated is cumulative losses incurred over the most recent three-year period. Such objective evidence limits our ability to consider other subjective positive evidence such as our projections for future growth.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-right:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Based on this evaluation, a valuation allowance has been recorded as of December&#160;31, 2021 and 2020 for the net deferred tax assets recorded on certain of our wholly owned subsidiaries. Such deferred tax assets relate primarily to net operating losses that are not more likely than not realizable. However, the amount of the deferred tax asset considered realizable could be adjusted if our estimate of future taxable income during the carryforward period changes, or if objective negative evidence in the form of cumulative losses is no longer present. Additional weight may be given to subjective evidence such as our projections for growth in this situation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Uncertain Tax Positions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are subject to taxation in the United States and various state jurisdictions. As of December&#160;31, 2021, our tax years for 2018 through 2020 are subject to examination by the tax authorities. A rollforward of the gross unrecognized tax benefits is as follows (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="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:78.070%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.607%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.193%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit, January 1, 2019&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;5,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of tax positions taken during the period&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;2,866&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&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;(2,482)&lt;/span&gt;&lt;/td&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;Decrease as a result of expiring statutes&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;(16)&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;Unrecognized tax benefit, December 31, 2019&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;5,717&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of tax positions taken during the period&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;3,822&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&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;(2,873)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of expiring statutes&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;10&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;Unrecognized tax benefit, December 31, 2020&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,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,482&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&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;(3,999)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of expiring statutes&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;(2,857)&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;Unrecognized tax benefit, December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:490.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:490.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No unrecognized tax positions would affect the effective tax rate at December&#160;31, 2021. Interest expense and penalties accrued related to uncertain tax positions as of December&#160;31, 2021 are $0.5 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We expect a decrease to the amount of unrecognized tax benefits (exclusive of penalties and interest) within the next twelve months of zero to $2.4 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Determining uncertain tax positions and the related estimated amounts requires judgment and carry estimation risk. If future tax law changes or interpretations should come to light, or additional information should become known, our conclusions regarding unrecognized tax benefits may change.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzI1NTQ_0f181740-1302-4d25-a475-42f1bec4a2dc">&lt;div style="margin-top:7pt"&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 is comprised of (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:61.842%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.467%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.982%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.467%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.982%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.469%"/&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="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:400;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: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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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;27,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;33,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;14,850&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&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;10,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;8,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,127&#160;&lt;/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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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:&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 2px 13pt;text-align:left;vertical-align:bottom"&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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,177)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,585&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&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;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,298)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;884&#160;&lt;/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:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(438)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,475)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total tax expense&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;36,712&#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;33,938&#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;24,446&#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:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzMtMS0xLTEtMjU3MDU_be43bbc3-be95-469b-949f-eb6cd5ad21e5"
      unitRef="usd">27011000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzMtMy0xLTEtMjU3MDU_f58ae95e-4555-4408-bbcc-a9fb0813faf7"
      unitRef="usd">33495000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzMtNS0xLTEtMjU3MDU_dd46d0da-bbcc-495e-a4f2-1a0761c4243c"
      unitRef="usd">14850000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzQtMS0xLTEtMjU3MDU_079f71d4-fa38-4d93-b5ab-d4cb9f40d320"
      unitRef="usd">10139000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzQtMy0xLTEtMjU3MDU_b9e84dd1-0989-4d41-9ee6-c641b05f4cbe"
      unitRef="usd">8918000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzQtNS0xLTEtMjU3MDU_9132f744-6f15-474a-80f1-a065e06c4ed1"
      unitRef="usd">4127000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzUtMS0xLTEtMjU3MDU_5aa96b6d-72da-4db0-bc4a-c09c8b03a644"
      unitRef="usd">37150000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzUtMy0xLTEtMjU3MDU_c511d420-e043-4eac-9f05-909a6d01a95e"
      unitRef="usd">42413000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzUtNS0xLTEtMjU3MDU_52ec2a88-fb73-44f9-b309-4e01077951e6"
      unitRef="usd">18977000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzctMS0xLTEtMjU3MDU_77c88e87-3a7b-4161-a1fd-1ca966764c52"
      unitRef="usd">-437000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzctMy0xLTEtMjU3MDU_769f6355-458a-4e3e-9f25-7bc1e1fd3ad3"
      unitRef="usd">-7177000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzctNS0xLTEtMjU3MDU_df009998-7179-46f4-85cf-67e02507c5e4"
      unitRef="usd">4585000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzgtMS0xLTEtMjU3MDU_71f85e8f-22fa-45e8-acb6-4f6f327a2fd1"
      unitRef="usd">-1000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzgtMy0xLTEtMjU3MDU_583b33fc-1fbb-41ea-9b7b-fa485c9de419"
      unitRef="usd">-1298000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzgtNS0xLTEtMjU3MDU_b916b233-6f96-4ab6-902f-996f82018a02"
      unitRef="usd">884000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzktMS0xLTEtMjU3MDU_c380db26-9d04-42bb-89ea-94332964a7bf"
      unitRef="usd">-438000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzktMy0xLTEtMjU3MDU_954596b0-0cd2-4ea3-bb28-4e65e313d81c"
      unitRef="usd">-8475000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzktNS0xLTEtMjU3MDU_53b6c621-5718-4825-8848-b57d36cd7151"
      unitRef="usd">5469000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzEwLTEtMS0xLTI1NzA1_e4d85f74-b574-4bd7-862e-133f0c9d7877"
      unitRef="usd">36712000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzEwLTMtMS0xLTI1NzA1_a852701d-f894-422e-abee-5780f2626dae"
      unitRef="usd">33938000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxOWMxMDgzYzkwNjA0MzNkYjc0NGEzZGFhZjQ4OTc2NC90YWJsZXJhbmdlOjE5YzEwODNjOTA2MDQzM2RiNzQ0YTNkYWFmNDg5NzY0XzEwLTUtMS0xLTI1NzA1_f9df77d2-5e7a-4ecb-b3e9-379a73933408"
      unitRef="usd">24446000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzI1NTg_6e1332ba-847d-4508-9b0f-06f437ed4388">&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 reconciliation between our effective tax rate on net income and the federal statutory rate is as follows (dollars in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="border-bottom: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;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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:400;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;Income tax at federal statutory rate&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;32,650&#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;border-top:1pt solid #000;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;21.0&#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;span style="color:#000000;font-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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,547&#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;border-top:1pt solid #000000;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;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,447&#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;border-top:1pt solid #000000;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;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/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;Stock compensation&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,567)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other permanent items&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,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&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;(922)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(207)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#ffffff;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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in 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;(2,867)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income taxes, net of federal benefit&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,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total tax expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;36,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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 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;33,938&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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 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;24,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.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;span style="color:#000000;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;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzItMS0xLTEtMjU3MDU_b36b56ef-6e57-4f14-b283-5125a64f1bdc"
      unitRef="usd">32650000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzItMy0xLTEtMjU3MDU_4235c310-770f-489b-9802-b94c4883217b"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzItNS0xLTEtMjU3MDU_eb927338-95cb-42eb-978b-2e3a424652b4"
      unitRef="usd">27547000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzItNy0xLTEtMjU3MDU_c9e739fd-9cd1-4de7-99f2-4d7c03834739"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzItOS0xLTEtMjU3MDU_4952a69f-458a-428e-bede-59b2abf57e5f"
      unitRef="usd">19447000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzItMTEtMS0xLTI1NzA1_b8f07c75-8c65-4d2a-a10d-29c332fcdcb7"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzMtMS0xLTEtMjU3MDU_e2b02156-3f02-428d-99cc-092b52761051"
      unitRef="usd">-1567000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzMtMy0xLTEtMjU3MDU_8ad94676-2301-4a1e-a028-0ce94313f767"
      unitRef="number">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzMtNS0xLTEtMjU3MDU_3c2b6961-c418-41bf-8c05-c347200eba2a"
      unitRef="usd">331000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzMtNy0xLTEtMjU3MDU_db629dff-7079-42ad-a634-7281b92a90ad"
      unitRef="number">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzMtOS0xLTEtMjU3MDU_24db9141-44ed-4238-9e70-caf2c67f5f0d"
      unitRef="usd">-255000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzMtMTEtMS0xLTI1NzA1_103bec8a-d738-4771-b31a-250b4b644493"
      unitRef="number">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzUtMS0xLTEtMjU3MDU_f48afc39-16a1-49fb-982f-03664cdf61e6"
      unitRef="usd">1274000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzUtMy0xLTEtMjU3MDU_2c07e5f4-5186-4391-a38e-4ee111ef6511"
      unitRef="number">0.008</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzUtNS0xLTEtMjU3MDU_bbefbbf4-313a-42ac-a97f-d6045d4941d5"
      unitRef="usd">424000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzUtNy0xLTEtMjU3MDU_770a9107-aa31-4f88-b2d4-6e26eb0464a4"
      unitRef="number">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzUtOS0xLTEtMjU3MDU_36de7c7c-9536-4ee8-8a2b-7dc838e13aa0"
      unitRef="usd">737000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzUtMTEtMS0xLTI1NzA1_4414d479-ec08-4c39-8f03-123b6aa28349"
      unitRef="number">0.008</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzYtMS0xLTEtMjU3MDU_527218e9-4d56-4d18-a888-b796e2fd1487"
      unitRef="usd">-922000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzYtMy0xLTEtMjU3MDU_29e4017b-b576-4c21-a8bc-2203ad26afb4"
      unitRef="number">-0.006</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzYtNS0xLTEtMjU3MDU_ed02edef-32e8-4785-940b-fcbaaf56d8e5"
      unitRef="usd">-207000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzYtNy0xLTEtMjU3MDU_39366dee-5618-453b-a4de-44b1803e96d2"
      unitRef="number">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzYtOS0xLTEtMjU3MDU_f462ec67-cc14-4111-b743-bef124d83e1c"
      unitRef="usd">276000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzYtMTEtMS0xLTI1NzA1_128154ca-e1a3-4cc2-9a19-612da61cd4f2"
      unitRef="number">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzctMS0xLTEtMjU3MDU_f8cd2cb9-d4c3-4dcd-ae74-c2e42dcbed68"
      unitRef="usd">-2867000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzctMy0xLTEtMjU3MDU_0ed73252-54fe-406e-9689-d6b914e3e5e7"
      unitRef="number">-0.018</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzctNS0xLTEtMjU3MDU_0d84fe8d-7d0a-44b9-89bc-8b7af58ce188"
      unitRef="usd">65000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzctNy0xLTEtMjU3MDU_b17cc7a0-26e8-4b0e-90ba-bcefadbcbd06"
      unitRef="number">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzctOS0xLTEtMjU3MDU_4c918248-a45e-45df-be17-2bf112cf30c4"
      unitRef="usd">67000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzctMTEtMS0xLTI1NzA1_d957ae85-ac6e-4d6a-b20f-7a4ed4bb0456"
      unitRef="number">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzgtMS0xLTEtMjU3MDU_62a7ccdb-84d4-4bbe-8e12-a9c9b6bcb5cf"
      unitRef="usd">8144000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzgtMy0xLTEtMjU3MDU_94bf7a36-cdc5-4483-82a7-915091d5f5b8"
      unitRef="number">0.052</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzgtNS0xLTEtMjU3MDU_4a4c41fc-321b-475f-ba59-2369b836318c"
      unitRef="usd">5778000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzgtNy0xLTEtMjU3MDU_2e8c7d03-689d-47df-b628-a62385c30ee3"
      unitRef="number">0.044</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzgtOS0xLTEtMjU3MDU_54e39a96-36f7-43b9-bc40-8be69d01f1d6"
      unitRef="usd">4174000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzgtMTEtMS0xLTI1NzA1_e5d7a576-0fad-49f9-ac8d-8febcaf9a291"
      unitRef="number">0.045</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzEwLTEtMS0xLTI1NzA1_db26e036-0dcc-4b7a-b110-71f50c29781c"
      unitRef="usd">36712000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzEwLTMtMS0xLTI1NzA1_7cd5de0b-3bdf-4425-8a98-a06f7f89372c"
      unitRef="number">0.236</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzEwLTUtMS0xLTI1NzA1_30c665ba-565e-4375-8966-cee710ced2ad"
      unitRef="usd">33938000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzEwLTctMS0xLTI1NzA1_48ae987e-8d6c-46cd-8ac5-115285560710"
      unitRef="number">0.259</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzEwLTktMS0xLTI1NzA1_582b94e6-09a2-467d-b44d-c5928902b7cc"
      unitRef="usd">24446000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToxNjhjYTc3YmI0YWE0ZDM0YmI0MDJmZjQ0Mjg0NDBmNC90YWJsZXJhbmdlOjE2OGNhNzdiYjRhYTRkMzRiYjQwMmZmNDQyODQ0MGY0XzEwLTExLTEtMS0yNTcwNQ_403c088c-715f-4627-993f-59426e2b1d97"
      unitRef="number">0.264</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzI1NTU_818b9420-e52f-4a99-bbf2-d83b24b1496a">&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;Components of the net deferred tax asset or liability are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:70.760%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.916%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.875%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.833%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.876%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Deferred Tax Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and allowances&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;10,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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,106&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts&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;979&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;987&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories&lt;/span&gt;&lt;/td&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;900&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;402&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&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;333&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;280&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangibles&lt;/span&gt;&lt;/td&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;7,042&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,582&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards&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;1,049&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;1,206&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align: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 deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,517&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;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,579&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/td&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;(216)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,263)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align: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 deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,301&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;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,316&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and allowances&lt;/span&gt;&lt;/td&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;(669)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(151)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&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;(7,629)&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;(4,587)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangibles&lt;/span&gt;&lt;/td&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;(6,783)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,810)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investment in partnership&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;(8,271)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,660)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&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;(793)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(650)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,145)&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;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,858)&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 deferred tax (liabilities) assets&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;(3,844)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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 #000;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;The above amounts are included in our Consolidated Balance Sheets as follows:&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 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;Other non-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;975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term deferred income tax liabilities&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,819)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax (liabilities) assets&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;(3,844)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <ibp:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowances
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzQtMS0xLTEtMjU3MDU_b1785c99-bb74-407b-ad61-770de0849f38"
      unitRef="usd">10200000</ibp:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowances>
    <ibp:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowances
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzQtMy0xLTEtMjU3MDU_efb1e7be-b36e-4ad2-aeda-6785a19bd320"
      unitRef="usd">9106000</ibp:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowances>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzUtMS0xLTEtMjU3MDU_9e2059e8-706f-43b5-a468-cdfad7aaedc5"
      unitRef="usd">979000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzUtMy0xLTEtMjU3MDU_c3243c30-596f-4fdd-bce8-7b7501504359"
      unitRef="usd">987000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzYtMS0xLTEtMjU3MDU_4d9f7f0a-7d24-42b6-8b52-fa3e2523f6b9"
      unitRef="usd">900000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzYtMy0xLTEtMjU3MDU_54583c09-9470-4e45-bc7d-d929899d94cf"
      unitRef="usd">402000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzctMS0xLTEtMjU3MDU_fcc47e26-3bfb-41fa-856a-685d02f292b4"
      unitRef="usd">333000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzctMy0xLTEtMjU3MDU_31b6b99f-b85b-4d9b-bea0-e99595e2fdc3"
      unitRef="usd">280000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzgtMS0xLTEtMjU3MDU_46939078-3e4e-49cd-ba1e-0ab9e106a8ad"
      unitRef="usd">7042000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzgtMy0xLTEtMjU3MDU_909317b1-adf5-4ff6-9167-82ca88e62012"
      unitRef="usd">6582000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzktMS0xLTEtMjU3MDU_973ff96f-5d79-458c-95cd-89ad00d30ae7"
      unitRef="usd">1049000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzktMy0xLTEtMjU3MDU_bbceaf04-9d87-4e9e-a5a6-f663cc9cbda2"
      unitRef="usd">1206000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzEwLTEtMS0xLTI1NzA1_63927db7-5764-4ae2-babc-06135e302a9f"
      unitRef="usd">14000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzEwLTMtMS0xLTI1NzA1_d643ba1e-cc8d-412c-bed2-e792c04a2609"
      unitRef="usd">16000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzExLTEtMS0xLTI1NzA1_6f3170f8-0660-4d8d-945a-85b7ddb0a6f0"
      unitRef="usd">20517000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzExLTMtMS0xLTI1NzA1_239cce6f-8446-4e33-ba71-8493c4f49af6"
      unitRef="usd">18579000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzEyLTEtMS0xLTI1NzA1_bca606d4-7200-4969-879c-01a538728781"
      unitRef="usd">216000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzEyLTMtMS0xLTI1NzA1_cd590a0d-a1a3-4d2b-a0f4-5119680e005f"
      unitRef="usd">1263000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzEzLTEtMS0xLTI1NzA1_751a80c6-fc0d-4d1d-b7e3-5f6b2a7407c9"
      unitRef="usd">20301000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzEzLTMtMS0xLTI1NzA1_b48d6f22-2fb1-4390-ba42-ea2110da4daa"
      unitRef="usd">17316000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE2LTEtMS0xLTI1NzA1_fb2ff00c-8309-4d48-8e1a-202f68e55f93"
      unitRef="usd">669000</us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE2LTMtMS0xLTI1NzA1_43066636-8d26-4058-b6f0-4d8f8b019760"
      unitRef="usd">151000</us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE3LTEtMS0xLTI1NzA1_ae4b2d7c-f53c-4022-8f31-20c0abe9384a"
      unitRef="usd">7629000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE3LTMtMS0xLTI1NzA1_cba2a4db-787d-4861-8898-56fbd0043ae0"
      unitRef="usd">4587000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE4LTEtMS0xLTI1NzA1_c981970a-90d3-4b64-a1e5-d43b570ba9d8"
      unitRef="usd">6783000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE4LTMtMS0xLTI1NzA1_d9567aab-ca6d-4d50-b8c5-ab0778434088"
      unitRef="usd">4810000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesInvestments
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE5LTEtMS0xLTI1NzA1_69c450f3-6bf1-4c4d-a3cc-2fd656ec1052"
      unitRef="usd">8271000</us-gaap:DeferredTaxLiabilitiesInvestments>
    <us-gaap:DeferredTaxLiabilitiesInvestments
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzE5LTMtMS0xLTI1NzA1_e847c605-7a18-4beb-ba16-067c39d2f81d"
      unitRef="usd">6660000</us-gaap:DeferredTaxLiabilitiesInvestments>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzIwLTEtMS0xLTI1NzA1_8192cea5-57de-4cf5-80f0-2cba4d7ecfdd"
      unitRef="usd">793000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzIwLTMtMS0xLTI1NzA1_8713edd0-1f86-41f6-b359-a26360695d92"
      unitRef="usd">650000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzIxLTEtMS0xLTI1NzA1_de09b1f4-35b4-4b60-b556-10abac2a765a"
      unitRef="usd">24145000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzIxLTMtMS0xLTI1NzA1_f15eaebf-9767-46f5-9192-683f2c0724d6"
      unitRef="usd">16858000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzIyLTEtMS0xLTI1NzA1_4f9da662-3bc5-4ed8-ab85-d532e002af41"
      unitRef="usd">3844000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzIyLTMtMS0xLTI1NzA1_2d45d0c3-100f-4bd3-a521-0b9553b61e91"
      unitRef="usd">458000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i3bae4c7239264db3a6116a56ae8217b3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzI0LTEtMS0xLTM2ODA5_8c90feb4-db4e-448b-9647-385a716737d1"
      unitRef="usd">975000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i279514d5adc14befa2c052fac8e8c4f3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzI0LTMtMS0xLTM2ODE4_2fa8ce40-a639-47ad-855d-1aaf329504e2"
      unitRef="usd">493000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i62a2bd0cf63844558b2225c99216c7d3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzI1LTEtMS0xLTM2ODA5_2dd75d2c-33c7-4c08-855a-3da089d8f74b"
      unitRef="usd">4819000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="ia9b0eb31b8fb4f7387b17bd873334d79_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzI1LTMtMS0xLTM2ODE4_e931119c-4e16-4b93-935c-fb463d41300e"
      unitRef="usd">35000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzI2LTEtMS0xLTM2ODA5_2ad8df14-5df5-4166-8e85-b140652c7b9e"
      unitRef="usd">3844000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZToyYTQ0NWFiMWZmZmY0YjBiOGNkNDViM2RjYjcxNDUxNC90YWJsZXJhbmdlOjJhNDQ1YWIxZmZmZjRiMGI4Y2Q0NWIzZGNiNzE0NTE0XzI2LTMtMS0xLTM2ODE4_2d45d0c3-100f-4bd3-a521-0b9553b61e91"
      unitRef="usd">458000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzM3Mg_8679ce0e-3d9d-4fcc-9b87-da82ffcef62f"
      unitRef="usd">1000000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <ibp:IncomeTaxExpenseBenefitOperatingLossCarryforwards
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzQwMQ_15bc7687-24b4-4859-b595-c84d8702363e"
      unitRef="usd">4800000</ibp:IncomeTaxExpenseBenefitOperatingLossCarryforwards>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzI1NTY_2270b677-c5a8-4ae4-aa3e-7b024063a73c">A rollforward of the gross unrecognized tax benefits is as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:78.070%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.607%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.193%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit, January 1, 2019&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;5,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of tax positions taken during the period&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;2,866&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&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;(2,482)&lt;/span&gt;&lt;/td&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;Decrease as a result of expiring statutes&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;(16)&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;Unrecognized tax benefit, December 31, 2019&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;5,717&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of tax positions taken during the period&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;3,822&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&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;(2,873)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of expiring statutes&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;10&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;Unrecognized tax benefit, December 31, 2020&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,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,482&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of tax positions taken during the period&lt;/span&gt;&lt;/td&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;(3,999)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease as a result of expiring statutes&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;(2,857)&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;Unrecognized tax benefit, December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ia2263e5a5d344f14813fb7edf2fa2af9_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzAtMS0xLTEtMjU3MDU_7f7e5ab9-ef92-43ab-80e7-316e1d2e86ed"
      unitRef="usd">5349000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzEtMS0xLTEtMjU3MDU_83472353-775c-44cf-b8d0-04284bf2a6dd"
      unitRef="usd">2866000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzItMS0xLTEtMjU3MDU_0757eb87-c153-46b3-b260-62d477296d48"
      unitRef="usd">2482000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzMtMS0xLTEtMjU3MDU_df9e73ed-54dc-416e-b0e8-27897a1c3bc5"
      unitRef="usd">16000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ie8cd3488dd934f75a7823e289a6dc870_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzQtMS0xLTEtMjU3MDU_fc6cafca-7834-4ccf-8e1d-7332de6e9d60"
      unitRef="usd">5717000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzYtMS0xLTEtMjU3MDU_1f6d7118-1327-48d6-a73f-784932e78cbd"
      unitRef="usd">3822000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzctMS0xLTEtMjU3MDU_a2bb6da7-8dc4-4355-9ebc-8618e44ce5ff"
      unitRef="usd">2873000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions>
    <ibp:UnrecognizedTaxBenefitsIncreaseResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzgtMS0xLTEtMjU3MDU_a44b234e-4d5b-4c31-965f-a91c136f4b22"
      unitRef="usd">10000</ibp:UnrecognizedTaxBenefitsIncreaseResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzktMS0xLTEtMjU3MDU_1d445a99-feb5-4cb6-9dac-e98d57d6485b"
      unitRef="usd">6676000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzExLTEtMS0xLTI1NzA1_1c3c4a54-9a94-4f7d-af1e-4c60fbfb72dc"
      unitRef="usd">4482000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzEyLTEtMS0xLTI1NzA1_55a2bba5-e563-4761-a8c2-0d2a55799953"
      unitRef="usd">3999000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzEzLTEtMS0xLTI1NzA1_9feb15bf-32f4-4c00-b03f-be7de96e0623"
      unitRef="usd">2857000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90YWJsZTpiZDQyYWY1MmYzMmE0NzVjOTIzZGZiYzM0ZWIxNWVjYy90YWJsZXJhbmdlOmJkNDJhZjUyZjMyYTQ3NWM5MjNkZmJjMzRlYjE1ZWNjXzE0LTEtMS0xLTI1NzA1_04a92ae6-e3b9-4bef-ae83-170776123c58"
      unitRef="usd">4302000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzIxMTI_87864c41-0760-4333-806b-d65ddd0302a6"
      unitRef="usd">500000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <ibp:UnrecognizedTaxBenefitsNetOfIncomeTaxPenaltiesAndInterestExpense
      contextRef="i06a15d2d45a949e9b9be9127e881771f_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzIyNTI_4f97d0bd-2f41-46b8-ac5a-29182a352f87"
      unitRef="usd">0</ibp:UnrecognizedTaxBenefitsNetOfIncomeTaxPenaltiesAndInterestExpense>
    <ibp:UnrecognizedTaxBenefitsNetOfIncomeTaxPenaltiesAndInterestExpense
      contextRef="i0780d58de2ed467babaf3d98d1cdb764_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzMvZnJhZzozNDJkNjYyYjA2YmU0M2MxYTBlODMzZWY2MmQ5YTVhNC90ZXh0cmVnaW9uOjM0MmQ2NjJiMDZiZTQzYzFhMGU4MzNlZjYyZDlhNWE0XzIyNTg_6765a3c8-b051-43bf-8a37-5947d8ae8dd0"
      unitRef="usd">2400000</ibp:UnrecognizedTaxBenefitsNetOfIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90ZXh0cmVnaW9uOjM1ZWQxMDgxYzkxNDQ2MDBiNDExYWI3ZDMzN2ZhMGY5XzE0NDM_4c73bf02-5da6-44d1-8b6e-8c1d1e666c6e">RELATED PARTY TRANSACTIONS&lt;div style="margin-top:7pt;padding-right:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sell installation services to other companies related to us through common or affiliated ownership and/or board of directors and/or management relationships. We also purchase services and materials and pay rent to companies with common or related ownership. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 our headquarters and certain other facilities from related parties. See Note 9, Leases, for future minimum lease payments to be paid to these related parties.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amount of sales to common or related parties as well as the purchases from and rent expense paid to common or related parties were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-right:13.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:59.064%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.037%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.037%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.438%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,452&#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;3,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&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;Purchases&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,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;/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;Rent&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,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021 and 2020, we had related party balances of approximately $0.9 million and $0.7 million, respectively, included in accounts receivable on our Consolidated Balance Sheets. These balances primarily represent trade accounts receivable arising during the normal course of business with various related parties. M/I Homes, Inc., a customer whose Chairman, President and Chief Executive Officer was a member of our board of directors until his resignation from our board effective March 18, 2020, accounted for a significant portion of our related party sales during the first quarter of the year ended December 31, 2020 as well as the year ended December 31, 2019 while it was classified as a related party to the Company.&lt;/span&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90ZXh0cmVnaW9uOjM1ZWQxMDgxYzkxNDQ2MDBiNDExYWI3ZDMzN2ZhMGY5XzE0NDQ_031ad30a-f524-41e8-a43d-d17b85540847">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amount of sales to common or related parties as well as the purchases from and rent expense paid to common or related parties were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-right:13.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:59.064%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.037%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.037%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.438%"/&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="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:400;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:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,452&#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;3,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&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;Purchases&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,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;/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;Rent&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,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock>
    <us-gaap:RevenueFromRelatedParties
      contextRef="ib51a7c5eb2bd421084703832f40196b7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzItMS0xLTEtMjU3MDU_dcdfbbfe-c69c-4cc5-9fa3-7d81c489b31d"
      unitRef="usd">1452000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="i79941af26dc14243b7ea25a038cf6b27_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzItMy0xLTEtMjU3MDU_6393ba4f-1fe0-4869-811d-821b374af2ed"
      unitRef="usd">3987000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="i90f5cf7c1da8419994e4e185337e652a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzItNS0xLTEtMjU3MDU_37459638-9b2a-4c1e-a69c-8372bfe4b06d"
      unitRef="usd">13488000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="ib51a7c5eb2bd421084703832f40196b7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzMtMS0xLTEtMjU3MDU_fc12a910-dacb-486e-ac08-00cab366ff57"
      unitRef="usd">1544000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="i79941af26dc14243b7ea25a038cf6b27_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzMtMy0xLTEtMjU3MDU_3d5456ab-2282-4dd0-a7bf-9b80a8090a88"
      unitRef="usd">1841000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="i90f5cf7c1da8419994e4e185337e652a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzMtNS0xLTEtMjU3MDU_1e476aa9-8da5-487f-8853-b64f269fa285"
      unitRef="usd">1810000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
      contextRef="ib51a7c5eb2bd421084703832f40196b7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzQtMS0xLTEtMjU3MDU_0415a75b-89f8-43b7-b97d-d54a343e33ca"
      unitRef="usd">1322000</us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty>
    <us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
      contextRef="i79941af26dc14243b7ea25a038cf6b27_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzQtMy0xLTEtMjU3MDU_0dbf9780-20a5-4d6d-946d-5cc0b5345317"
      unitRef="usd">1125000</us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty>
    <us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
      contextRef="i90f5cf7c1da8419994e4e185337e652a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90YWJsZTpjYzQwYmFiNGUyYWM0YjI1OTYxNzcwMjZhZDNmMTNhNy90YWJsZXJhbmdlOmNjNDBiYWI0ZTJhYzRiMjU5NjE3NzAyNmFkM2YxM2E3XzQtNS0xLTEtMjU3MDU_1d3ae4fe-5665-49c6-bc91-8c7112348c7f"
      unitRef="usd">1040000</us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty>
    <us-gaap:AccountsReceivableRelatedPartiesCurrent
      contextRef="i9ec6aa8008364ef29537c5c1879cbccf_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90ZXh0cmVnaW9uOjM1ZWQxMDgxYzkxNDQ2MDBiNDExYWI3ZDMzN2ZhMGY5XzcwMQ_f6d44911-422b-48a0-9ddf-dfd262876205"
      unitRef="usd">900000</us-gaap:AccountsReceivableRelatedPartiesCurrent>
    <us-gaap:AccountsReceivableRelatedPartiesCurrent
      contextRef="i650a6ff79fad433695301dc006d5608f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzYvZnJhZzozNWVkMTA4MWM5MTQ0NjAwYjQxMWFiN2QzMzdmYTBmOS90ZXh0cmVnaW9uOjM1ZWQxMDgxYzkxNDQ2MDBiNDExYWI3ZDMzN2ZhMGY5XzcwOA_e00ebaaf-5a6b-4420-b2fa-40452ae7ca67"
      unitRef="usd">700000</us-gaap:AccountsReceivableRelatedPartiesCurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90ZXh0cmVnaW9uOjg0NjNjZWM1Nzk3MzQ0NTc4ZDdjY2E5ZGYwMDgzYWE5XzE4MjA_11e17e1c-10e4-45ba-a6e4-831a6e410321">COMMITMENTS AND CONTINGENCIES&lt;div style="margin-top:7pt"&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;Accrued General Liability and Auto Insurances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued general liability and auto insurance reserves included on the Consolidated Balance Sheets were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;padding-right:92.25pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.011%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.368%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.085%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.960%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.087%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Included in other current liabilities&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;5,889&#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;5,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Included in other long-term liabilities&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;16,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;21,939&#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;21,542&#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="padding-left:434.25pt"&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="padding-right:38.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also had insurance receivables and indemnification assets included on the Consolidated Balance Sheets that, in aggregate, offset equal liabilities included within the reserve amounts noted above. The amounts were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;padding-right:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:400;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 4.37pt;text-align:center;vertical-align:top"&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;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 4.37pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Insurance receivables and indemnification assets for claims under fully insured policies&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;3,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Insurance receivables for claims that exceeded the stop loss limit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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:100%"&gt;278&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align: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 insurance receivables and indemnification assets included in other non-current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,856&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,728&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 9, Leases, for further information on our lease commitments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Other Commitments and Contingencies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&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, various claims and litigation are asserted or commenced against us principally arising from contractual matters and personnel and employment disputes. In determining loss contingencies, management considers the likelihood of loss as well as the ability to reasonably estimate the amount of such loss or liability. An estimated loss is recorded when it is considered probable that such a liability has been incurred and when the amount of loss can be reasonably estimated. As litigation is subject to inherent uncertainties, we cannot be certain that we will prevail in these matters. However, we do not believe that the ultimate outcome of any pending matters will have a material adverse effect on our consolidated financial position, results of operations or cash flows.&lt;/span&gt;&lt;/div&gt;During the year ended December&#160;31, 2018, we entered into an agreement with one of our suppliers to purchase a portion of the insulation materials we utilize across our business. This agreement was effective January 1, 2019 through December 31, 2021 with a purchase obligation of $15.0 million for 2021, which we exceeded.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <ibp:ScheduleOfAccruedInsuranceReservesTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90ZXh0cmVnaW9uOjg0NjNjZWM1Nzk3MzQ0NTc4ZDdjY2E5ZGYwMDgzYWE5XzE4MjE_c7567550-fea2-4764-a243-8ae17112db3f">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued general liability and auto insurance reserves included on the Consolidated Balance Sheets were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;padding-right:92.25pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.011%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.368%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.085%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.960%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.087%"/&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:400;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: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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Included in other current liabilities&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;5,889&#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;5,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Included in other long-term liabilities&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;16,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;21,939&#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;21,542&#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;</ibp:ScheduleOfAccruedInsuranceReservesTableTextBlock>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTo5Yzg1MGRlYmMxZmM0MmFiOGQ4ZDg5MzA4YTgwMjRkYS90YWJsZXJhbmdlOjljODUwZGViYzFmYzQyYWI4ZDhkODkzMDhhODAyNGRhXzItMS0xLTEtMjU3MDU_a009dd11-2853-4c5a-a712-e239f7329d21"
      unitRef="usd">5889000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTo5Yzg1MGRlYmMxZmM0MmFiOGQ4ZDg5MzA4YTgwMjRkYS90YWJsZXJhbmdlOjljODUwZGViYzFmYzQyYWI4ZDhkODkzMDhhODAyNGRhXzItMy0xLTEtMjU3MDU_64d6dfe1-c1f5-490f-a68e-f276d88fc5bb"
      unitRef="usd">5102000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:AccruedInsuranceNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTo5Yzg1MGRlYmMxZmM0MmFiOGQ4ZDg5MzA4YTgwMjRkYS90YWJsZXJhbmdlOjljODUwZGViYzFmYzQyYWI4ZDhkODkzMDhhODAyNGRhXzMtMS0xLTEtMjU3MDU_dcb4b7d8-503f-4d01-89a2-d3db40e88bb6"
      unitRef="usd">16050000</us-gaap:AccruedInsuranceNoncurrent>
    <us-gaap:AccruedInsuranceNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTo5Yzg1MGRlYmMxZmM0MmFiOGQ4ZDg5MzA4YTgwMjRkYS90YWJsZXJhbmdlOjljODUwZGViYzFmYzQyYWI4ZDhkODkzMDhhODAyNGRhXzMtMy0xLTEtMjU3MDU_47ecbf19-b1e4-45fe-9628-2341eae5612d"
      unitRef="usd">16440000</us-gaap:AccruedInsuranceNoncurrent>
    <us-gaap:AccruedInsuranceCurrentAndNoncurrent
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTo5Yzg1MGRlYmMxZmM0MmFiOGQ4ZDg5MzA4YTgwMjRkYS90YWJsZXJhbmdlOjljODUwZGViYzFmYzQyYWI4ZDhkODkzMDhhODAyNGRhXzQtMS0xLTEtMjU3MDU_7c4bd19a-a516-499b-b8a7-647be9869be1"
      unitRef="usd">21939000</us-gaap:AccruedInsuranceCurrentAndNoncurrent>
    <us-gaap:AccruedInsuranceCurrentAndNoncurrent
      contextRef="i4d68c3b7654a4c12bfd5f85caeb29ca1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTo5Yzg1MGRlYmMxZmM0MmFiOGQ4ZDg5MzA4YTgwMjRkYS90YWJsZXJhbmdlOjljODUwZGViYzFmYzQyYWI4ZDhkODkzMDhhODAyNGRhXzQtMy0xLTEtMjU3MDU_431baba1-920c-4325-a58b-aa2a58aabe89"
      unitRef="usd">21542000</us-gaap:AccruedInsuranceCurrentAndNoncurrent>
    <ibp:InsuranceReceivableClaimsTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90ZXh0cmVnaW9uOjg0NjNjZWM1Nzk3MzQ0NTc4ZDdjY2E5ZGYwMDgzYWE5XzE4MjI_317396a5-17a4-4b8e-810a-1362364a3781">&lt;div style="padding-right:38.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also had insurance receivables and indemnification assets included on the Consolidated Balance Sheets that, in aggregate, offset equal liabilities included within the reserve amounts noted above. The amounts were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;padding-right:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:400;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 4.37pt;text-align:center;vertical-align:top"&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;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 4.37pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Insurance receivables and indemnification assets for claims under fully insured policies&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;3,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Insurance receivables for claims that exceeded the stop loss limit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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:100%"&gt;278&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align: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 insurance receivables and indemnification assets included in other non-current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,856&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,728&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</ibp:InsuranceReceivableClaimsTableTextBlock>
    <ibp:InsuranceReceivableAndIndemnificationAssetForClaimsUnderFullyInsuredPolicy
      contextRef="i727472d97df44953949e33391cd41c4c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTplNWVkNjYxN2RlZDA0ZjBmOGEwMjg1ZTMyYjVhYTZhMS90YWJsZXJhbmdlOmU1ZWQ2NjE3ZGVkMDRmMGY4YTAyODVlMzJiNWFhNmExXzItMS0xLTEtMjU3MDU_303fe14f-e8e4-4903-a508-23cf715bd039"
      unitRef="usd">3578000</ibp:InsuranceReceivableAndIndemnificationAssetForClaimsUnderFullyInsuredPolicy>
    <ibp:InsuranceReceivableAndIndemnificationAssetForClaimsUnderFullyInsuredPolicy
      contextRef="iab2267a406834502bca7dae5b6556677_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTplNWVkNjYxN2RlZDA0ZjBmOGEwMjg1ZTMyYjVhYTZhMS90YWJsZXJhbmdlOmU1ZWQ2NjE3ZGVkMDRmMGY4YTAyODVlMzJiNWFhNmExXzItMy0xLTEtMjU3MDU_67379d00-d37b-4b43-a728-177057553575"
      unitRef="usd">4400000</ibp:InsuranceReceivableAndIndemnificationAssetForClaimsUnderFullyInsuredPolicy>
    <ibp:InsuranceReceivableForClaimsExceedingStopLossLimit
      contextRef="i727472d97df44953949e33391cd41c4c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTplNWVkNjYxN2RlZDA0ZjBmOGEwMjg1ZTMyYjVhYTZhMS90YWJsZXJhbmdlOmU1ZWQ2NjE3ZGVkMDRmMGY4YTAyODVlMzJiNWFhNmExXzMtMS0xLTEtMjU3MDU_b57a651b-7773-4a65-b8e4-0ade541eae67"
      unitRef="usd">278000</ibp:InsuranceReceivableForClaimsExceedingStopLossLimit>
    <ibp:InsuranceReceivableForClaimsExceedingStopLossLimit
      contextRef="iab2267a406834502bca7dae5b6556677_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTplNWVkNjYxN2RlZDA0ZjBmOGEwMjg1ZTMyYjVhYTZhMS90YWJsZXJhbmdlOmU1ZWQ2NjE3ZGVkMDRmMGY4YTAyODVlMzJiNWFhNmExXzMtMy0xLTEtMjU3MDU_85e42310-6fdb-417f-aa20-ad43210a4c91"
      unitRef="usd">328000</ibp:InsuranceReceivableForClaimsExceedingStopLossLimit>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="i727472d97df44953949e33391cd41c4c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTplNWVkNjYxN2RlZDA0ZjBmOGEwMjg1ZTMyYjVhYTZhMS90YWJsZXJhbmdlOmU1ZWQ2NjE3ZGVkMDRmMGY4YTAyODVlMzJiNWFhNmExXzQtMS0xLTEtMjU3MDU_6c64fffb-1167-4886-a18c-30256e473334"
      unitRef="usd">3856000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="iab2267a406834502bca7dae5b6556677_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90YWJsZTplNWVkNjYxN2RlZDA0ZjBmOGEwMjg1ZTMyYjVhYTZhMS90YWJsZXJhbmdlOmU1ZWQ2NjE3ZGVkMDRmMGY4YTAyODVlMzJiNWFhNmExXzQtMy0xLTEtMjU3MDU_edc1a134-41ed-4499-8460-1b4a0dd24670"
      unitRef="usd">4728000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xMzkvZnJhZzo4NDYzY2VjNTc5NzM0NDU3OGQ3Y2NhOWRmMDA4M2FhOS90ZXh0cmVnaW9uOjg0NjNjZWM1Nzk3MzQ0NTc4ZDdjY2E5ZGYwMDgzYWE5XzE2NDE_ab25434b-5e98-4cae-be22-da3bfee85472"
      unitRef="usd">15000000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4NzE_daaeca64-037a-41de-951e-cc2c7f5de989">BUSINESS COMBINATIONS&lt;div style="margin-top:7pt;padding-right:6.75pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of our ongoing strategy to expand geographically and increase market share in certain markets, as well as diversify our products and end markets, we completed eleven, nine and six business combinations during the years ended December&#160;31, 2021, 2020 and 2019, respectively, as well as several insignificant tuck-in acquisitions merged into existing operations in 2019, in which we acquired 100% of the voting equity interests in each acquired entity. Acquisition-related costs amounted to $2.8 million, $2.8 million and $2.1 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively, and are included in Administrative expenses on the Consolidated Statements of Operations and Comprehensive Income. The goodwill recognized in conjunction with these business combinations represents the excess cost of the acquired entity over the net amount assigned to assets acquired and liabilities assumed. We expect to deduct &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;$100.5 million&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; of goodwill for tax purposes as a result of 2021 acquisitions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Below is a summary of each significant acquisition by year, including revenue and net income (loss) since date of acquisition, shown for the year of acquisition. The largest of our 2021 acquisitions were &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;I.W. International Insulation, Inc., dba &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intermountain West Insulation (&#x201c;IWI&#x201d;) in March 2021, Alert Insulation ("Alert") and Alpine Construction Services ("Alpine") in April 2021, General Ceiling &amp;amp; Partitions, Inc. ("GCP") in June 2021, Five Star Building Products, LLC and Five Star Building Products of Southern Utah, LLC (collectively "Five Star") in September 2021, Denison Glass and Mirror, Inc. ("DGM") and CFI Insulation ("CFI") in November 2021, and AMD Distribution ("AMD") in December 2021&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. In each table, &#x201c;Other&#x201d; represents acquisitions that were individually immaterial in that year. Net income (loss), as noted below, includes amortization, taxes and interest allocations when appropriate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&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:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.974%"/&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:9pt;font-weight:400;line-height:100%"&gt;2021 Acquisitions&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:400;line-height:100%"&gt;Date&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:400;line-height:100%"&gt;Acquisition Type&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:400;line-height:100%"&gt;Cash Paid&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:400;line-height:100%"&gt;Seller Obligations&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:400;line-height:100%"&gt;Total Purchase Price&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:400;line-height:100%"&gt;Revenue&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:400;line-height:100%"&gt;Net Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;IWI&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: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;03/01/2021&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: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;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;5,959&#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;48,057&#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;36,259&#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;3,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Alert &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: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;4/13/2021&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: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;Asset&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;5,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(151)&lt;/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;Alpine &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:400;line-height:100%"&gt;4/19/2021&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="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;GCP &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: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;6/7/2021&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: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;Asset&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;9,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;/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;Five Star&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:400;line-height:100%"&gt;9/13/2021&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:400;line-height:100%"&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,861&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(119)&lt;/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;DGM&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: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;11/1/2021&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: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;Asset&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;11,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,703&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(462)&lt;/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;CFI&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:400;line-height:100%"&gt;11/22/2021&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:400;line-height:100%"&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;AMD&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: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;12/13/2021&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: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;Asset&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;119,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(225)&lt;/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;Other&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:400;line-height:100%"&gt;Various &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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/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 13pt;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;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;243,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&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;For the year ended December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&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:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.974%"/&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:9pt;font-weight:400;line-height:100%"&gt;2020 Acquisitions&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:400;line-height:100%"&gt;Date&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:400;line-height:100%"&gt;Acquisition Type&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:400;line-height:100%"&gt;Cash Paid&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:400;line-height:100%"&gt;Seller Obligations&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:400;line-height:100%"&gt;Total Purchase Price&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:400;line-height:100%"&gt;Revenue&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:400;line-height:100%"&gt;Net Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Royals&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: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;2/29/2020&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,090&#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;11,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Energy One&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: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;8/10/2020&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: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;Asset&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;13,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;14,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(558)&lt;/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;Storm Master &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:400;line-height:100%"&gt;8/31/2020&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;ICON&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: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;10/13/2020&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;449&#160;&lt;/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;Norkote&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:400;line-height:100%"&gt;10/26/2020&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;417&#160;&lt;/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;WeatherSeal&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: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;11/16/2020&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: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;Asset&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;9,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;10,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:400;line-height:100%"&gt;Various&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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;1,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(344)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&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;For the year ended December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.119%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.382%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.380%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.369%"/&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:9pt;font-weight:400;line-height:100%"&gt;2019 Acquisitions&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:400;line-height:100%"&gt;Date&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:400;line-height:100%"&gt;Acquisition Type&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:400;line-height:100%"&gt;Cash Paid&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:400;line-height:100%"&gt;Seller Obligations&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:400;line-height:100%"&gt;Total Purchase Price&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:400;line-height:100%"&gt;Revenue&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:400;line-height:100%"&gt;Net Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1st State Insulation&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: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;3/18/2019&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,355&#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;6,480&#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;9,828&#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;476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expert Insulation&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: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;6/24/2019&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Premier&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:400;line-height:100%"&gt;11/18/2019&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:400;line-height:100%"&gt;Share&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;25,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="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;Other&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: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;Various&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: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;Asset&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;5,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Purchase Price Allocations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated fair values of the assets acquired and liabilities assumed for the acquisitions, as well as total purchase prices and cash paid, approximated the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&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:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&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:6.356%"/&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:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&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:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.243%"/&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="57" 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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;IWI&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Alert&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Alpine&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;GCP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Five Star&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;DGM&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;CFI&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;AMD&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Estimated fair values:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;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:9pt;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:9pt;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 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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,707&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;5,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:9pt;font-weight:400;line-height:100%"&gt;8,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,660&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Inventories&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:9pt;font-weight:400;line-height:100%"&gt;1,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;853&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,214&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;25,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,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:9pt;font-weight:400;line-height:100%"&gt;17,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;129,954&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;23,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;56,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,063&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,617&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other non-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:9pt;font-weight:400;line-height:100%"&gt;264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable and other current liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(8,416)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(493)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,040)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,625)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(242)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(123)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,203)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred income tax liabilities&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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;(2,089)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;(2,089)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(2,530)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(734)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;(18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(49)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,383)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Fair value of assets acquired and purchase price&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:9pt;font-weight:400;line-height:100%"&gt;48,057&#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:9pt;font-weight:400;line-height:100%"&gt;8,830&#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:9pt;font-weight:400;line-height:100%"&gt;10,153&#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:9pt;font-weight:400;line-height:100%"&gt;11,127&#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:9pt;font-weight:400;line-height:100%"&gt;31,774&#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:9pt;font-weight:400;line-height:100%"&gt;13,703&#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:9pt;font-weight:400;line-height:100%"&gt;14,595&#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:9pt;font-weight:400;line-height:100%"&gt;126,121&#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:9pt;font-weight:400;line-height:100%"&gt;7,824&#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:9pt;font-weight:400;line-height:100%"&gt;272,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less seller obligations&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:9pt;font-weight:400;line-height:100%"&gt;5,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash paid&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;42,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;5,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;7,945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;9,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;26,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;11,634&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;13,450&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;119,490&#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;border-top:1pt solid #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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;6,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;243,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.416%"/&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="45" 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:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Royals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Energy One&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Storm Master&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;ICON&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Norkote&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;WeatherSeal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Estimated fair values:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts receivable&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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;2,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;4,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;17,605&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Inventories&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:9pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,761&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,454&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,862&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intangibles&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:9pt;font-weight:400;line-height:100%"&gt;3,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,223&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,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:9pt;font-weight:400;line-height:100%"&gt;3,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,223&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,305&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other non-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:9pt;font-weight:400;line-height:100%"&gt;58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;241&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable and other current liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(1,059)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,469)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,336)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(445)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(86)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(50)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(196)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,641)&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(19)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(28)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(46)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(131)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(278)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Fair value of assets acquired and purchase price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,090&#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:9pt;font-weight:400;line-height:100%"&gt;14,791&#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:9pt;font-weight:400;line-height:100%"&gt;14,336&#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:9pt;font-weight:400;line-height:100%"&gt;20,498&#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:9pt;font-weight:400;line-height:100%"&gt;11,151&#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:9pt;font-weight:400;line-height:100%"&gt;10,422&#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:9pt;font-weight:400;line-height:100%"&gt;9,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 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:9pt;font-weight:400;line-height:100%"&gt;90,532&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less seller obligations&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:9pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:9pt;font-weight:400;line-height:100%"&gt;1,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,086&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash paid&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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;7,590&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;13,200&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;13,000&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;16,900&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;8,725&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;9,500&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;7,531&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;76,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.999%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.701%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #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;1st State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expert&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Premier&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated fair values:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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;&#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;&#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;334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;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;334&#160;&lt;/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 13pt;text-align:left;vertical-align: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;&#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;1,796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;2,666&#160;&lt;/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 13pt;text-align:left;vertical-align: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;&#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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 13pt;text-align:left;vertical-align: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;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;235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,987&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&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;3,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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;1,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,318&#160;&lt;/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 13pt;text-align:left;vertical-align: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 non-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;&#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;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#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 13pt;text-align:left;vertical-align: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 payable and other current liabilities&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;(39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,501)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 assets acquired and purchase price&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;6,480&#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;18,158&#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;27,765&#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;7,180&#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;59,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 seller obligations&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,355&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,543&#160;&lt;/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 13pt;text-align:left;vertical-align: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&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;5,125&#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;16,165&#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;25,000&#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;5,750&#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;52,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contingent consideration is included as &#x201c;seller obligations&#x201d; in the above table or within &#x201c;fair value of assets acquired&#x201d; if subsequently paid during the period presented. These contingent payments consist primarily of earnouts based on performance that are recorded at fair value at the time of acquisition, and/or non-compete agreements and amounts based on working capital calculations. When these payments are expected to be made over one year from the acquisition date, the contingent consideration is discounted to net present value of future payments based on a weighted average of various future forecast scenarios.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Further adjustments to the allocation for each acquisition still under its measurement period are expected as third-party or internal valuations are finalized, certain tax aspects of the transaction are completed, contingent consideration is settled, and customary post-closing reviews are concluded during the measurement period attributable to each individual business combination. As a result, 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 date of acquisition and future adjustments may be made through the end of each measurement period. Goodwill and intangibles per the above table may not agree to the total gross increases of these assets as shown in Note 7, Goodwill and Intangibles, during the years ended &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2021, 2020 &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;and 2019 due to minor adjustments to goodwill for the allocation of certain acquisitions still under measurement as well as other immaterial intangible assets added during the ordinary course of business. In addition, goodwill and intangibles increased during the year ended December&#160;31, 2019 due to various small acquisitions merged into existing operations that do not appear in the above tables.&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;Estimates of acquired intangible assets related to the acquisitions are as follows (dollars in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.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:400;line-height:100%"&gt;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:400;line-height:100%"&gt;2020&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:400;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:400;line-height:100%"&gt;Acquired intangibles assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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: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 Estimated Useful Life (yrs)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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: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 Estimated Useful Life (yrs)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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: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 Estimated Useful Life (yrs)&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;Customer relationships&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;94,473&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&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;Trademarks and trade names&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;23,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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;15&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;9,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="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;15&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;5,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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;15&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-competition 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;7,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5&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;2,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5&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;Backlog&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,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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;2.5&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;4,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&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;Pro Forma Information (unaudited)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unaudited pro forma information has been prepared as if the 2021 acquisitions had taken place on January 1, 2020, the 2020 acquisitions had taken place on January 1, 2019 and the 2019 acquisitions had taken place on January 1, 2018. The unaudited pro forma information is not necessarily indicative of the results that we would have achieved had the transactions actually taken place on January 1, 2020, 2019 and 2018 and the unaudited pro forma information does not purport to be indicative of future financial operating results (in thousands, except for per share data).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:70.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.675%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.837%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.837%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.953%"/&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="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-bottom:1pt;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;December 31,&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-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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Net revenue&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;2,105,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,922,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,660,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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;129,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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 net income per share&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.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.57&#160;&lt;/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;Diluted net income per share&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.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.56&#160;&lt;/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&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;Unaudited pro forma net income reflects additional intangible asset amortization expense of $8.2 million, $18.2 million and $10.2 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively, additional interest expense of $4.1 million and $4.3 million for the years ended December&#160;31, 2021 and 2020, respectively, as well as additional income tax expense of $3.9 million, $3.7 million and $3.0 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzE1Mw_9ccac723-0f8c-4b0f-b747-f4219a471b98"
      unitRef="business">11</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzE1Nw_34a3ae0c-319c-4b07-a0cc-935c07b504c6"
      unitRef="business">9</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:NumberOfBusinessesAcquired
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzE2NA_80349473-6344-46eb-abbd-4bd4105544c5"
      unitRef="business">6</us-gaap:NumberOfBusinessesAcquired>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i1d5c960cbdaa449fb210e259173b1e45_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzM2Mg_841bcbe0-d1b2-441b-910a-bd7dce6de3cc"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzEwOTk1MTE2MzM2ODQ_7df27d75-0608-4dd3-b015-5b5fe234372a"
      unitRef="usd">2800000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ2Mw_153f7cdf-8ac1-4eba-9c80-be13d426620b"
      unitRef="usd">2800000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ3MA_d175a52a-897c-4ba3-a11c-b2b2da1029fe"
      unitRef="usd">2100000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount
      contextRef="i8317fb3673c64ace934ae2b300f4b840_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzg1OA_c379dbe7-8295-413c-9687-0edc700068c8"
      unitRef="usd">100500000</us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4Njc_02db4d47-d95e-4eda-ba23-5349eeea36df">&lt;div style="margin-top:9pt"&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 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&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:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.974%"/&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:9pt;font-weight:400;line-height:100%"&gt;2021 Acquisitions&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:400;line-height:100%"&gt;Date&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:400;line-height:100%"&gt;Acquisition Type&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:400;line-height:100%"&gt;Cash Paid&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:400;line-height:100%"&gt;Seller Obligations&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:400;line-height:100%"&gt;Total Purchase Price&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:400;line-height:100%"&gt;Revenue&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:400;line-height:100%"&gt;Net Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;IWI&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: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;03/01/2021&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: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;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;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;5,959&#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;48,057&#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;36,259&#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;3,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Alert &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: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;4/13/2021&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: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;Asset&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;5,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(151)&lt;/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;Alpine &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:400;line-height:100%"&gt;4/19/2021&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="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;GCP &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: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;6/7/2021&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: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;Asset&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;9,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;/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;Five Star&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:400;line-height:100%"&gt;9/13/2021&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:400;line-height:100%"&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,861&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(119)&lt;/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;DGM&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: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;11/1/2021&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: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;Asset&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;11,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,703&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(462)&lt;/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;CFI&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:400;line-height:100%"&gt;11/22/2021&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:400;line-height:100%"&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;AMD&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: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;12/13/2021&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: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;Asset&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;119,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(225)&lt;/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;Other&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:400;line-height:100%"&gt;Various &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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/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 13pt;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;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;243,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&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;For the year ended December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&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:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.974%"/&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:9pt;font-weight:400;line-height:100%"&gt;2020 Acquisitions&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:400;line-height:100%"&gt;Date&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:400;line-height:100%"&gt;Acquisition Type&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:400;line-height:100%"&gt;Cash Paid&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:400;line-height:100%"&gt;Seller Obligations&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:400;line-height:100%"&gt;Total Purchase Price&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:400;line-height:100%"&gt;Revenue&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:400;line-height:100%"&gt;Net Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Royals&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: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;2/29/2020&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,090&#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;11,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Energy One&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: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;8/10/2020&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: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;Asset&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;13,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;14,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(558)&lt;/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;Storm Master &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:400;line-height:100%"&gt;8/31/2020&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;ICON&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: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;10/13/2020&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;449&#160;&lt;/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;Norkote&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:400;line-height:100%"&gt;10/26/2020&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;417&#160;&lt;/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;WeatherSeal&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: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;11/16/2020&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: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;Asset&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;9,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;10,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:400;line-height:100%"&gt;Various&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:400;line-height:100%"&gt;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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;1,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(344)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&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;For the year ended December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.119%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.382%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.380%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.369%"/&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:9pt;font-weight:400;line-height:100%"&gt;2019 Acquisitions&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:400;line-height:100%"&gt;Date&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:400;line-height:100%"&gt;Acquisition Type&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:400;line-height:100%"&gt;Cash Paid&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:400;line-height:100%"&gt;Seller Obligations&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:400;line-height:100%"&gt;Total Purchase Price&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:400;line-height:100%"&gt;Revenue&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:400;line-height:100%"&gt;Net Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1st State Insulation&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: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;3/18/2019&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,355&#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;6,480&#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;9,828&#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;476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expert Insulation&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: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;6/24/2019&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: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;Asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Premier&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:400;line-height:100%"&gt;11/18/2019&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:400;line-height:100%"&gt;Share&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;25,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="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;Other&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: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;Various&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: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;Asset&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;5,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i22dea49c336e4bfe9fb3722f033d7a50_D20210301-20210301"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEtNi0xLTEtMjg2NDc_1deab264-ac96-452c-b66a-62a6d030fe69"
      unitRef="usd">42098000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i22dea49c336e4bfe9fb3722f033d7a50_D20210301-20210301"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEtOC0xLTEtMjg2NDc_e7309f5d-00fb-47a4-8b4e-229f46f5e00f"
      unitRef="usd">5959000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i22dea49c336e4bfe9fb3722f033d7a50_D20210301-20210301"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEtMTAtMS0xLTI4NjQ3_756668c4-0b2d-4bf1-9cf7-4ec91980b8f2"
      unitRef="usd">48057000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i22dea49c336e4bfe9fb3722f033d7a50_D20210301-20210301"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEtMTItMS0xLTI4NjQ3_d13daacf-ec6d-4fbd-9a1f-14a90cb4e123"
      unitRef="usd">36259000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i22dea49c336e4bfe9fb3722f033d7a50_D20210301-20210301"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEtMTQtMS0xLTI4NjQ3_eecb4a04-0f3a-4393-a0d9-e65ee8d3605e"
      unitRef="usd">3373000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i17396599959b4cff9eefe2b2b886e381_D20210413-20210413"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzItNi0xLTEtMjg2NDc_926a3f94-7b0c-48c5-9a1c-5c5405e283b1"
      unitRef="usd">5850000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i17396599959b4cff9eefe2b2b886e381_D20210413-20210413"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzItOC0xLTEtMjg2NDc_f5a9dccf-5bf4-40fb-a33d-3b53df7bcf5f"
      unitRef="usd">2980000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i17396599959b4cff9eefe2b2b886e381_D20210413-20210413"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzItMTAtMS0xLTI4NjQ3_d5141e9d-d919-45aa-85a6-f020e6ac55b5"
      unitRef="usd">8830000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i17396599959b4cff9eefe2b2b886e381_D20210413-20210413"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzItMTItMS0xLTI4NjQ3_dfbd4c76-8d6e-4725-aadb-fc854ef39fc0"
      unitRef="usd">13494000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i17396599959b4cff9eefe2b2b886e381_D20210413-20210413"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzItMTQtMS0xLTI4NjQ3_1cf82dda-afaf-4270-8be9-f86e20e6833a"
      unitRef="usd">-151000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i061743bb66d1436ca7367a1c900dd989_D20210419-20210419"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzMtNi0xLTEtMjg2NDc_bed89e59-b2ea-44c7-9afb-df4e6f085917"
      unitRef="usd">7945000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i061743bb66d1436ca7367a1c900dd989_D20210419-20210419"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzMtOC0xLTEtMjg2NDc_d8e11756-a326-426d-a064-30c0ea751c44"
      unitRef="usd">2208000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i061743bb66d1436ca7367a1c900dd989_D20210419-20210419"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzMtMTAtMS0xLTI4NjQ3_09b03497-5ca7-43ca-b219-6ba1d7976587"
      unitRef="usd">10153000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i061743bb66d1436ca7367a1c900dd989_D20210419-20210419"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzMtMTItMS0xLTI4NjQ3_987624a9-21f0-4042-8a88-3713346fa204"
      unitRef="usd">8267000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i061743bb66d1436ca7367a1c900dd989_D20210419-20210419"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzMtMTQtMS0xLTI4NjQ3_daface81-a05a-4503-9650-4dac8fb09b75"
      unitRef="usd">189000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i36881a2d716847d58725b75fa04c87ba_D20210607-20210607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzQtNi0xLTEtMjg2NDc_ac0575aa-8338-4ad1-bb8c-c47194b43dad"
      unitRef="usd">9700000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i36881a2d716847d58725b75fa04c87ba_D20210607-20210607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzQtOC0xLTEtMjg2NDc_92d0f904-b1d4-4924-bcc1-2228e3b888d3"
      unitRef="usd">1427000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i36881a2d716847d58725b75fa04c87ba_D20210607-20210607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzQtMTAtMS0xLTI4NjQ3_697dc840-80e6-408b-83d1-0e92787bf408"
      unitRef="usd">11127000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i36881a2d716847d58725b75fa04c87ba_D20210607-20210607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzQtMTItMS0xLTI4NjQ3_69cebfb1-a2d0-4caa-a17e-71a138523538"
      unitRef="usd">7125000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i36881a2d716847d58725b75fa04c87ba_D20210607-20210607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzQtMTQtMS0xLTI4NjQ3_31d13202-6314-473c-9e14-eb0544bb9993"
      unitRef="usd">83000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ib69ee9f4197b4ea2b91e372b98c1a8c6_D20210913-20210913"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzUtNi0xLTEtMjg2NDc_c7dda4c5-5cc1-4090-958f-7488f4defa1e"
      unitRef="usd">26308000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ib69ee9f4197b4ea2b91e372b98c1a8c6_D20210913-20210913"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzUtOC0xLTEtMjg2NDc_bac3ccc9-c402-4911-8c33-207f7fdb4cdd"
      unitRef="usd">5466000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ib69ee9f4197b4ea2b91e372b98c1a8c6_D20210913-20210913"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzUtMTAtMS0xLTI4NjQ3_8380c7cb-687f-45b4-a029-84b6af825087"
      unitRef="usd">31774000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="ib69ee9f4197b4ea2b91e372b98c1a8c6_D20210913-20210913"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzUtMTItMS0xLTI4NjQ3_fc64d5a0-4e4b-4432-bbf3-649b6be90ebb"
      unitRef="usd">6861000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="ib69ee9f4197b4ea2b91e372b98c1a8c6_D20210913-20210913"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzUtMTQtMS0xLTI4NjQ3_6fe225b4-e07d-463a-99b5-69fd96b20cbe"
      unitRef="usd">-119000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i515b49d0914a46e09a6fcccdaf22c80b_D20211101-20211101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzYtNi0xLTEtMjg2NDc_5543c97a-3d47-4daf-b3f0-b585836393aa"
      unitRef="usd">11634000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i515b49d0914a46e09a6fcccdaf22c80b_D20211101-20211101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzYtOC0xLTEtMjg2NDc_bd35fb88-edee-4e14-b539-db819606325a"
      unitRef="usd">2069000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i515b49d0914a46e09a6fcccdaf22c80b_D20211101-20211101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzYtMTAtMS0xLTI4NjQ3_c62e686d-2e83-4b28-af52-14166022b1b5"
      unitRef="usd">13703000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="icff9946601ee44e6b70ddc61831e5520_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzYtMTItMS0xLTI4NjQ3_c10d8c03-b5af-44d4-8437-55101015cb42"
      unitRef="usd">2198000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="icff9946601ee44e6b70ddc61831e5520_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzYtMTQtMS0xLTI4NjQ3_b4759b9c-3834-46f4-a712-212f2e7e2f5e"
      unitRef="usd">-462000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i01ee5610786147129e6c44230d3f7150_D20211122-20211122"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzctNi0xLTEtMjg2NDc_7cd75c78-0ee3-409c-9bf2-3b9397aa5e6d"
      unitRef="usd">13450000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i01ee5610786147129e6c44230d3f7150_D20211122-20211122"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzctOC0xLTEtMjg2NDc_ba1526f8-dfe3-48ad-b868-4789692ea179"
      unitRef="usd">1145000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i01ee5610786147129e6c44230d3f7150_D20211122-20211122"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzctMTAtMS0xLTI4NjQ3_2825de95-9310-4bfb-8da7-a985640c1636"
      unitRef="usd">14595000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i5d32f29c1baa482b8cf269b077c1b7b6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzctMTItMS0xLTI4NjQ3_238882a9-e291-4549-8be3-d37b89015f62"
      unitRef="usd">1289000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i5d32f29c1baa482b8cf269b077c1b7b6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzctMTQtMS0xLTI4NjQ3_e63ca510-6276-49d7-b959-b95b8b691e85"
      unitRef="usd">53000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ic501185c258648068bdbf1311354aadf_D20211212-20211212"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtNi0xLTEtMzE2NjU_02422687-2c3c-4885-b728-3ba5fb5af2bf"
      unitRef="usd">119490000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ic501185c258648068bdbf1311354aadf_D20211212-20211212"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtOC0xLTEtMzE2NjU_cd98c574-f219-470e-9068-425f8ce1c8b1"
      unitRef="usd">6631000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ic501185c258648068bdbf1311354aadf_D20211212-20211212"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtMTAtMS0xLTMxNjY1_3f655df4-d9cb-4161-80a4-e6680b1a778d"
      unitRef="usd">126121000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i8eee7fcd9e5c46bf8c13519b87cce0bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtMTItMS0xLTMxNjY1_86bbfbac-6690-4e9c-a0f7-d32b05f4c5ce"
      unitRef="usd">3707000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i8eee7fcd9e5c46bf8c13519b87cce0bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtMTQtMS0xLTMxNjY1_5a381310-da91-4246-8223-cc1e23093d27"
      unitRef="usd">-225000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtNi0xLTEtMjg2NDc_a91fa31a-86b9-4ee3-a072-6d74eb2956a1"
      unitRef="usd">6540000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtOC0xLTEtMjg2NDc_3235b5bb-2a27-4b2a-8ac5-1a23c1160a93"
      unitRef="usd">1284000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtMTAtMS0xLTI4NjQ3_b7ed911d-a7df-4d73-bf98-a2d2a7b5f1dd"
      unitRef="usd">7824000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtMTItMS0xLTI4NjQ3_bfa3f7f0-3b4e-46b6-824e-d9c6f1bfa106"
      unitRef="usd">3231000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzgtMTQtMS0xLTI4NjQ3_9bb40153-f846-448c-8342-be211b4f0107"
      unitRef="usd">-102000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEwLTYtMS0xLTM0Mjky_b727a205-7a38-464e-a196-e34f06e74e98"
      unitRef="usd">243015000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEwLTgtMS0xLTM0Mjk5_b34a73d6-06d0-4131-a66f-772c847b5ddb"
      unitRef="usd">29169000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEwLTEwLTEtMS0zNDMwNg_51b31e33-cc16-4804-9774-d3752912d450"
      unitRef="usd">272184000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEwLTEyLTEtMS0zNDMxMw_0867e675-9f9d-4777-8324-f31fd1442c85"
      unitRef="usd">82431000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTozNjg5OTUwY2I3MTA0NjhjYjEyZDE2NDg5ZDQ1M2NmNi90YWJsZXJhbmdlOjM2ODk5NTBjYjcxMDQ2OGNiMTJkMTY0ODlkNDUzY2Y2XzEwLTE0LTEtMS0zNDMyMA_81d63cae-d1b0-4515-bee3-1f4d1f490bd7"
      unitRef="usd">2639000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ief35238ab2e14feb830d8cdf98876cd2_D20200229-20200229"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzEtNi0xLTEtMjU3MDU_e3f00a71-ff81-43d0-b153-b3fec00d3f72"
      unitRef="usd">7590000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ief35238ab2e14feb830d8cdf98876cd2_D20200229-20200229"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzEtOC0xLTEtMjU3MDU_f59eb1b2-43d2-4a4a-9eb5-14e60f85ff78"
      unitRef="usd">2500000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ief35238ab2e14feb830d8cdf98876cd2_D20200229-20200229"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzEtMTAtMS0xLTI1NzA1_1f095306-133e-47c4-acfb-bbab6fee887e"
      unitRef="usd">10090000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="ief35238ab2e14feb830d8cdf98876cd2_D20200229-20200229"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzEtMTItMS0xLTI1NzA1_4a7fd707-2253-489b-b289-83e0c7cf7803"
      unitRef="usd">11095000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="ief35238ab2e14feb830d8cdf98876cd2_D20200229-20200229"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzEtMTQtMS0xLTI1NzA1_99ab6f7f-40e3-4b84-bc54-caef72a0dd91"
      unitRef="usd">1332000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i7ebef17775874ad89f3ba8532a37d1ef_D20200810-20200810"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzItNi0xLTEtMjU3MDU_c3983fa3-0c51-48b6-b88c-e9ae022592e2"
      unitRef="usd">13200000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i7ebef17775874ad89f3ba8532a37d1ef_D20200810-20200810"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzItOC0xLTEtMjU3MDU_a82e6db2-b01f-439e-9274-1b6c3ce8a7da"
      unitRef="usd">1591000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i7ebef17775874ad89f3ba8532a37d1ef_D20200810-20200810"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzItMTAtMS0xLTI1NzA1_39ec234a-007c-4853-bee1-3846d4e73f69"
      unitRef="usd">14791000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i7ebef17775874ad89f3ba8532a37d1ef_D20200810-20200810"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzItMTItMS0xLTI1NzA1_6dac3ad4-41b9-44e1-a5bf-532a6f133b15"
      unitRef="usd">7454000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i7ebef17775874ad89f3ba8532a37d1ef_D20200810-20200810"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzItMTQtMS0xLTI1NzA1_b5872436-7abe-45ed-8ac0-088da5bd7b5b"
      unitRef="usd">-558000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="iea9305a31edc4178b527284121b869c5_D20200831-20200831"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzMtNi0xLTEtMjU3MDU_43b90521-3262-4639-bb80-b481bed0d8cb"
      unitRef="usd">13000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="iea9305a31edc4178b527284121b869c5_D20200831-20200831"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzMtOC0xLTEtMjU3MDU_10669b57-3217-4e58-b123-84ffa9822c10"
      unitRef="usd">1336000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="iea9305a31edc4178b527284121b869c5_D20200831-20200831"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzMtMTAtMS0xLTI1NzA1_140bd445-698c-495a-bff2-500eeda89abf"
      unitRef="usd">14336000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="iea9305a31edc4178b527284121b869c5_D20200831-20200831"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzMtMTItMS0xLTI1NzA1_f344b044-e49d-4101-a16d-9b4c0854174e"
      unitRef="usd">8131000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="iea9305a31edc4178b527284121b869c5_D20200831-20200831"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzMtMTQtMS0xLTI1NzA1_7cfb1dff-9ae2-429c-8a47-514be0162520"
      unitRef="usd">619000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i7843756af65843fab3e0fce0a8139442_D20201013-20201013"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzQtNi0xLTEtMjU3MDU_0334027d-a28e-4bda-9eaf-4c7729468b64"
      unitRef="usd">16900000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i7843756af65843fab3e0fce0a8139442_D20201013-20201013"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzQtOC0xLTEtMjU3MDU_f8cbe582-2ec8-451d-a92c-5803f094a550"
      unitRef="usd">3598000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i7843756af65843fab3e0fce0a8139442_D20201013-20201013"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzQtMTAtMS0xLTI1NzA1_2a356641-e946-4bdb-8596-804ea66e5dd8"
      unitRef="usd">20498000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i7843756af65843fab3e0fce0a8139442_D20201013-20201013"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzQtMTItMS0xLTI1NzA1_428209e9-0a68-4ff7-97d9-e9405f3b4a97"
      unitRef="usd">4798000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i7843756af65843fab3e0fce0a8139442_D20201013-20201013"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzQtMTQtMS0xLTI1NzA1_3b34c4f8-4430-49d7-9b3f-a29894d963a9"
      unitRef="usd">449000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ide64f41394434869897b9f0f78ce7857_D20201026-20201026"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzUtNi0xLTEtMjU3MDU_3fcfd79e-449b-41b8-b69d-824e74d22f50"
      unitRef="usd">8725000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ide64f41394434869897b9f0f78ce7857_D20201026-20201026"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzUtOC0xLTEtMjU3MDU_8464f024-f162-4bc4-afcc-f4f80c7d39ee"
      unitRef="usd">2426000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ide64f41394434869897b9f0f78ce7857_D20201026-20201026"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzUtMTAtMS0xLTI1NzA1_1a8a9961-21bb-41b0-a04b-dcbe3fcd8b60"
      unitRef="usd">11151000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="ide64f41394434869897b9f0f78ce7857_D20201026-20201026"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzUtMTItMS0xLTI1NzA1_3c6e7bb8-30d9-405a-9259-8ac64d94bdb7"
      unitRef="usd">2702000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="ide64f41394434869897b9f0f78ce7857_D20201026-20201026"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzUtMTQtMS0xLTI1NzA1_3e123346-2e5f-4437-b554-2386a484e3e5"
      unitRef="usd">417000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="iedcabb59eb264914b863f4fbddd84b41_D20201116-20201116"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzYtNi0xLTEtMjU3MDU_4a2a79fd-426a-4f40-af01-fde05b311924"
      unitRef="usd">9500000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="iedcabb59eb264914b863f4fbddd84b41_D20201116-20201116"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzYtOC0xLTEtMjU3MDU_b8a3641e-da5e-420b-900b-18c0ecbe4d5a"
      unitRef="usd">922000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="iedcabb59eb264914b863f4fbddd84b41_D20201116-20201116"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzYtMTAtMS0xLTI1NzA1_6cf7a3c2-4306-4091-a746-94d3566c9fe5"
      unitRef="usd">10422000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="iedcabb59eb264914b863f4fbddd84b41_D20201116-20201116"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzYtMTItMS0xLTI1NzA1_2ce7d0e2-21da-419f-a3ea-a896b1c933ad"
      unitRef="usd">766000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="iedcabb59eb264914b863f4fbddd84b41_D20201116-20201116"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzYtMTQtMS0xLTI1NzA1_a4b0de33-9479-4d61-8893-b238e612ff35"
      unitRef="usd">-23000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzctNi0xLTEtMjU3MDU_00183a99-061f-41a8-a67e-c9e5dc1fa5ba"
      unitRef="usd">7531000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzctOC0xLTEtMjU3MDU_bdf90e87-b23f-48f4-9395-6f9a3416287a"
      unitRef="usd">1713000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzctMTAtMS0xLTI1NzA1_2d733be9-d3dd-48fa-83d3-97d15fcf9074"
      unitRef="usd">9244000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzctMTItMS0xLTI1NzA1_ab733ddb-6a1f-4025-94e3-4f40924af324"
      unitRef="usd">5548000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzctMTQtMS0xLTI1NzA1_97059278-921a-450a-9fdb-64d176478c40"
      unitRef="usd">-344000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzgtNi0xLTEtMjU3MDU_1a7cdcfe-0efd-4aba-afde-a42c63d5ec8c"
      unitRef="usd">76446000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzgtOC0xLTEtMjU3MDU_b05fd9d8-6f0f-4c11-8320-c5dfab2aa5e9"
      unitRef="usd">14086000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzgtMTAtMS0xLTI1NzA1_27f12fed-d24f-4235-b452-41141742705d"
      unitRef="usd">90532000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzgtMTItMS0xLTI1NzA1_bf94e6c3-5be6-4aec-b9b0-629ca2760abf"
      unitRef="usd">40494000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo1MzgwYWVlMjcyYzg0NzIyOGI1NDFjNzgxYWZjNDNiZC90YWJsZXJhbmdlOjUzODBhZWUyNzJjODQ3MjI4YjU0MWM3ODFhZmM0M2JkXzgtMTQtMS0xLTI1NzA1_f98f9e75-268b-490c-8e60-f0875505151b"
      unitRef="usd">1892000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i935dc7df554142e7a82e86799b1ccfd2_D20190318-20190318"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzEtNi0xLTEtMjU3MDU_41f10cf8-885e-4175-9afb-6e53947ab540"
      unitRef="usd">5125000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i935dc7df554142e7a82e86799b1ccfd2_D20190318-20190318"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzEtOC0xLTEtMjU3MDU_c2529809-d50a-4b24-95c8-ba6c7893ffd8"
      unitRef="usd">1355000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i935dc7df554142e7a82e86799b1ccfd2_D20190318-20190318"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzEtMTAtMS0xLTI1NzA1_0a093ff8-b3ed-4c0d-8ecf-3b9d0a6d85fd"
      unitRef="usd">6480000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i935dc7df554142e7a82e86799b1ccfd2_D20190318-20190318"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzEtMTItMS0xLTI1NzA1_ed1d2284-e604-498e-b00f-40862d2d79b7"
      unitRef="usd">9828000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i935dc7df554142e7a82e86799b1ccfd2_D20190318-20190318"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzEtMTQtMS0xLTI1NzA1_c75aac70-acdf-4db7-a4bc-9cb5e327a870"
      unitRef="usd">476000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ib9ca4cac1b1042fbbc90cbacde02d083_D20190624-20190624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzItNi0xLTEtMjU3MDU_91fb71d6-ba46-48a6-8259-f341da0dd884"
      unitRef="usd">16165000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ib9ca4cac1b1042fbbc90cbacde02d083_D20190624-20190624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzItOC0xLTEtMjU3MDU_def8330b-df3a-47bf-a9e9-144b44cb93fb"
      unitRef="usd">1993000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ib9ca4cac1b1042fbbc90cbacde02d083_D20190624-20190624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzItMTAtMS0xLTI1NzA1_30f53cb4-e410-45d4-81a6-94468ccfefc0"
      unitRef="usd">18158000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="ib9ca4cac1b1042fbbc90cbacde02d083_D20190624-20190624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzItMTItMS0xLTI1NzA1_585c464e-b5e5-4f46-8eba-3ac9d03458dd"
      unitRef="usd">6484000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="ib9ca4cac1b1042fbbc90cbacde02d083_D20190624-20190624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzItMTQtMS0xLTI1NzA1_e78b3c7c-9011-4f80-8afb-0366c22b0e71"
      unitRef="usd">155000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i8d4adbb2df514874961aa5b8fbb998ff_D20191118-20191118"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzMtNi0xLTEtMjU3MDU_2b6a8b29-3ea5-4d8e-8939-aa368d071b16"
      unitRef="usd">25000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i8d4adbb2df514874961aa5b8fbb998ff_D20191118-20191118"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzMtOC0xLTEtMjU3MDU_ad081ac1-8d51-40c9-b8a9-553d33451738"
      unitRef="usd">2765000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i8d4adbb2df514874961aa5b8fbb998ff_D20191118-20191118"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzMtMTAtMS0xLTI1NzA1_ecfde2a7-143b-41fd-bf25-25f1f26adf6d"
      unitRef="usd">27765000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i8d4adbb2df514874961aa5b8fbb998ff_D20191118-20191118"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzMtMTItMS0xLTI1NzA1_bd1c5332-b802-49a5-bcd6-ebfead9a7930"
      unitRef="usd">2161000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i8d4adbb2df514874961aa5b8fbb998ff_D20191118-20191118"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzMtMTQtMS0xLTI1NzA1_8b34c849-b616-4a62-9dbf-52bb1a6f650b"
      unitRef="usd">-62000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzQtNi0xLTEtMjU3MDU_4dfbad70-818f-4129-98c2-267ef8d217b1"
      unitRef="usd">5750000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzQtOC0xLTEtMjU3MDU_4c748559-f287-4e2a-add6-a46c10690f7c"
      unitRef="usd">1430000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzQtMTAtMS0xLTI1NzA1_44021613-71c0-4def-83f3-3cebd30f2c85"
      unitRef="usd">7180000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzQtMTItMS0xLTI1NzA1_a6e35f0c-bfa6-44c2-8b06-c697378319a1"
      unitRef="usd">3339000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzQtMTQtMS0xLTI1NzA1_57f4ebfe-1b17-4f26-a2b2-50f9dc8e1466"
      unitRef="usd">23000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzUtNi0xLTEtMjU3MDU_e5f1a657-db81-463b-a1ff-1bb0b6881940"
      unitRef="usd">52040000</us-gaap:PaymentsToAcquireBusinessesGross>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzUtOC0xLTEtMjU3MDU_0855d8a5-86b9-4eb6-80e8-5a17ec6b53c2"
      unitRef="usd">7543000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzUtMTAtMS0xLTI1NzA1_65cddbb9-dcea-445d-92e1-afecb2c1a2a8"
      unitRef="usd">59583000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzUtMTItMS0xLTI1NzA1_a6b42c6f-19ab-47ba-be9c-004cc0d13efc"
      unitRef="usd">21812000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToyZWQ0NTI5OGY0YmI0MGVkYjJlMDBhZTQ3MzA2NWM5Ny90YWJsZXJhbmdlOjJlZDQ1Mjk4ZjRiYjQwZWRiMmUwMGFlNDczMDY1Yzk3XzUtMTQtMS0xLTI1NzA1_9c599dad-1837-41fd-988a-761a76ed64a8"
      unitRef="usd">592000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4Njg_5af0a0b2-a14c-4ca5-9091-11162af94c84">&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated fair values of the assets acquired and liabilities assumed for the acquisitions, as well as total purchase prices and cash paid, approximated the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&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:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&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:6.356%"/&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:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&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:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.243%"/&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="57" 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:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;IWI&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Alert&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Alpine&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;GCP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Five Star&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;DGM&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;CFI&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;AMD&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Estimated fair values:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;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:9pt;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:9pt;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 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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,707&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;5,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:9pt;font-weight:400;line-height:100%"&gt;8,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,660&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Inventories&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:9pt;font-weight:400;line-height:100%"&gt;1,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;853&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,214&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;25,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,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:9pt;font-weight:400;line-height:100%"&gt;17,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;129,954&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;23,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;56,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,063&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,617&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other non-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:9pt;font-weight:400;line-height:100%"&gt;264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable and other current liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(8,416)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(493)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,040)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,625)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(242)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(123)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,203)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred income tax liabilities&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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;(2,089)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;(2,089)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(2,530)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(734)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;(18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(49)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,383)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Fair value of assets acquired and purchase price&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:9pt;font-weight:400;line-height:100%"&gt;48,057&#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:9pt;font-weight:400;line-height:100%"&gt;8,830&#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:9pt;font-weight:400;line-height:100%"&gt;10,153&#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:9pt;font-weight:400;line-height:100%"&gt;11,127&#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:9pt;font-weight:400;line-height:100%"&gt;31,774&#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:9pt;font-weight:400;line-height:100%"&gt;13,703&#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:9pt;font-weight:400;line-height:100%"&gt;14,595&#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:9pt;font-weight:400;line-height:100%"&gt;126,121&#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:9pt;font-weight:400;line-height:100%"&gt;7,824&#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:9pt;font-weight:400;line-height:100%"&gt;272,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less seller obligations&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:9pt;font-weight:400;line-height:100%"&gt;5,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash paid&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;42,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;5,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;7,945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;9,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:9pt;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 #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:9pt;font-weight:400;line-height:100%"&gt;26,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;11,634&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;13,450&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;119,490&#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;border-top:1pt solid #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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;6,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;243,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-right:11.25pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.416%"/&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="45" 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:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Royals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Energy One&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Storm Master&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;ICON&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Norkote&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;WeatherSeal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Estimated fair values:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts receivable&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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;2,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;4,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;17,605&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Inventories&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:9pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,761&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,454&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,862&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intangibles&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:9pt;font-weight:400;line-height:100%"&gt;3,930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,223&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;3,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:9pt;font-weight:400;line-height:100%"&gt;3,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,223&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,305&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other non-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:9pt;font-weight:400;line-height:100%"&gt;58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;241&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable and other current liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(1,059)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,469)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,336)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(445)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(86)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(50)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(196)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,641)&lt;/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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&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:9pt;font-weight:400;line-height:100%"&gt;(35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(19)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(28)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(46)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(131)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(278)&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Fair value of assets acquired and purchase price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,090&#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:9pt;font-weight:400;line-height:100%"&gt;14,791&#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:9pt;font-weight:400;line-height:100%"&gt;14,336&#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:9pt;font-weight:400;line-height:100%"&gt;20,498&#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:9pt;font-weight:400;line-height:100%"&gt;11,151&#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:9pt;font-weight:400;line-height:100%"&gt;10,422&#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:9pt;font-weight:400;line-height:100%"&gt;9,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 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:9pt;font-weight:400;line-height:100%"&gt;90,532&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less seller obligations&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:9pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:9pt;font-weight:400;line-height:100%"&gt;1,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:400;line-height:100%"&gt;1,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,086&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash paid&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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;7,590&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;13,200&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;13,000&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;16,900&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;8,725&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;9,500&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;7,531&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;76,446&#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;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:46.999%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.701%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #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;1st State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expert&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Premier&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated fair values:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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;&#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;&#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;334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9pt;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:9pt;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;334&#160;&lt;/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 13pt;text-align:left;vertical-align: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;&#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;1,796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;2,666&#160;&lt;/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 13pt;text-align:left;vertical-align: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;&#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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 13pt;text-align:left;vertical-align: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;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;235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,987&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&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;3,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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;1,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,318&#160;&lt;/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 13pt;text-align:left;vertical-align: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 non-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;&#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;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#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 13pt;text-align:left;vertical-align: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 payable and other current liabilities&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;(39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,501)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 assets acquired and purchase price&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;6,480&#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;18,158&#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;27,765&#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;7,180&#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;59,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 seller obligations&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,355&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,543&#160;&lt;/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 13pt;text-align:left;vertical-align: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&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;5,125&#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;16,165&#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;25,000&#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;5,750&#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;52,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtMS0xLTEtMjg4Nzc_c5c78702-e9bd-48ac-983d-ef2da34693e7"
      unitRef="usd">168000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtMy0xLTEtMjg4Nzc_0fbacb60-02b2-4238-b3b1-f8629552273a"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtNS0xLTEtMjg4Nzc_dc7ac495-9d85-4353-830d-1defc36acf5c"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtNy0xLTEtMjg4Nzc_1d6ab8c3-6275-4841-9a5c-6f43dd1b8008"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtOS0xLTEtMjg4Nzc_341082f0-efd5-47a7-9d8f-7d9c6959c26d"
      unitRef="usd">1472000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtMTEtMS0xLTI4ODc3_1c71ed5e-25c1-466c-adc8-e5760ef1bcfd"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtMTMtMS0xLTI4ODc3_34a115b8-f4dc-4ec8-b3c0-8ce7cb544a1e"
      unitRef="usd">67000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtMTUtMS0xLTI5NDQz_a8c2fce8-5220-4e03-bb98-7717e386795d"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtMTUtMS0xLTI4ODc3_77230666-9d46-4e63-88b1-c102f5d9df82"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzQtMTctMS0xLTI4ODc3_27b934f8-9a0c-4b22-9c08-1248ac2a3064"
      unitRef="usd">1707000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtMS0xLTEtMjg4Nzc_5e732d03-7038-4369-8900-0cf462864f96"
      unitRef="usd">5122000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtMy0xLTEtMjg4Nzc_a442e5a6-8746-4f40-bfc5-1eb1e669de22"
      unitRef="usd">4710000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtNS0xLTEtMjg4Nzc_5914d278-4530-4bf4-9364-80a981356143"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtNy0xLTEtMjg4Nzc_da7b417f-c4a3-452f-ac64-1e3e8ed75f55"
      unitRef="usd">3067000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtOS0xLTEtMjg4Nzc_66b8c131-0eba-4b51-86b4-12083c8c9b93"
      unitRef="usd">4597000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtMTEtMS0xLTI4ODc3_b794befa-cad8-4da2-9d81-fa1ad24947fd"
      unitRef="usd">4007000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtMTMtMS0xLTI4ODc3_386d8270-1391-4791-a0ae-3eb03d4be7b0"
      unitRef="usd">1318000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtMTUtMS0xLTI5NDQz_76358d26-525e-42a9-a509-ed36dcf595e4"
      unitRef="usd">8393000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtMTUtMS0xLTI4ODc3_90379838-b462-44b3-a8c3-ca2e6fe6063e"
      unitRef="usd">446000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzUtMTctMS0xLTI4ODc3_7d931171-3b1a-4085-8a7d-91b262212990"
      unitRef="usd">31660000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtMS0xLTEtMjg4Nzc_fea37b65-0e63-4768-9cf9-68eb5378ca9b"
      unitRef="usd">1157000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtMy0xLTEtMjg4Nzc_ea96255b-c2c1-49a6-98f5-f62ee9f88acc"
      unitRef="usd">765000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtNS0xLTEtMjg4Nzc_a647c174-3501-43ec-8e2e-e2d3b7c74dd9"
      unitRef="usd">359000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtNy0xLTEtMjg4Nzc_84f3fe36-20dc-440f-80e4-88a117788efa"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtOS0xLTEtMjg4Nzc_d8dac956-3c06-47c2-8209-d87e4f648013"
      unitRef="usd">1399000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtMTEtMS0xLTI4ODc3_4d7ac13e-a8e9-4a2b-b4b2-e452d8ad6288"
      unitRef="usd">6000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtMTMtMS0xLTI4ODc3_a97fa603-58a5-4c06-bf9d-3e057cfc357a"
      unitRef="usd">311000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtMTUtMS0xLTI5NDQz_815f8b7b-8a20-4f26-b89b-0b878f74ff27"
      unitRef="usd">7540000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtMTUtMS0xLTI4ODc3_e072a1bd-6750-45d7-b079-d5781e4468c1"
      unitRef="usd">345000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzYtMTctMS0xLTI4ODc3_192ebb29-6c92-4cbe-84fd-cf59a1c6afbb"
      unitRef="usd">11882000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctMS0xLTEtMjg4Nzc_e59716ae-96d5-4bb2-82f0-b2ece4ddbdb5"
      unitRef="usd">3014000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctMy0xLTEtMjg4Nzc_2767528f-0b36-478c-80c8-c33df45f2720"
      unitRef="usd">738000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctNS0xLTEtMjg4Nzc_953b0c76-0bf0-40a0-bf39-6c25bcee7ebb"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctNy0xLTEtMjg4Nzc_6605c754-d2b8-4a0f-9c5d-c665812c59fa"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctOS0xLTEtMjg4Nzc_4b2572d3-56c2-4f8c-a8d3-0ecb0d1f5de2"
      unitRef="usd">330000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctMTEtMS0xLTI4ODc3_ff2756e8-be37-465b-8c03-62bec601b38b"
      unitRef="usd">1016000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctMTMtMS0xLTI4ODc3_4b05a333-c226-4b04-9d9d-ee3b02058fdc"
      unitRef="usd">26000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctMTUtMS0xLTI5NDQz_6c3a65a3-742c-4b8e-8f27-5fbf1ed41549"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctMTUtMS0xLTI4ODc3_947729f4-7082-4843-b5c9-e1a3516868a6"
      unitRef="usd">74000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzctMTctMS0xLTI4ODc3_65c6fd65-bec4-4592-976c-e08f9b787461"
      unitRef="usd">5198000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtMS0xLTEtMjg4Nzc_04f43ea5-c4b3-439c-8f47-b6a9ed8b46c4"
      unitRef="usd">796000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtMy0xLTEtMjg4Nzc_9b3d6bc0-fb25-42db-81b9-269a6b789aad"
      unitRef="usd">693000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtNS0xLTEtMjg4Nzc_d49fed2e-7e1c-4cb6-8829-d4fcba5e9f9d"
      unitRef="usd">726000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtNy0xLTEtMjg4Nzc_baf2ae61-a821-4918-9e18-7a15bfa08fe4"
      unitRef="usd">206000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtOS0xLTEtMjg4Nzc_7c8e6cb9-e51a-422e-bdc2-9f38d76fbd56"
      unitRef="usd">1161000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtMTEtMS0xLTI4ODc3_64e14a9d-e07d-4ab6-9df8-a9b6cfc0062c"
      unitRef="usd">853000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtMTMtMS0xLTI4ODc3_8fc63d43-4e25-4e80-947a-b6f9e75c80b7"
      unitRef="usd">714000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtMTUtMS0xLTI5NDQz_a34adc7f-e564-4362-ac4f-f931e13e7441"
      unitRef="usd">1133000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtMTUtMS0xLTI4ODc3_2e7fa8fa-9beb-403a-8568-34bea5bd4425"
      unitRef="usd">932000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzgtMTctMS0xLTI4ODc3_cc946981-cd56-45ce-98b2-62b4313d25a4"
      unitRef="usd">7214000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktMS0xLTEtMjg4Nzc_7b508135-d65d-4faa-ad3b-352ee68b4835"
      unitRef="usd">25200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktMy0xLTEtMjg4Nzc_29997931-5b9b-406f-b08e-98676ed67e65"
      unitRef="usd">2770000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktNS0xLTEtMjg4Nzc_9d2e39de-b0d9-4b05-a5bd-dc0bb4a22266"
      unitRef="usd">5543000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktNy0xLTEtMjg4Nzc_56695bc5-0b65-4c92-84c1-f675ac37d85a"
      unitRef="usd">5670000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktOS0xLTEtMjg4Nzc_d1b3299e-1879-4669-b7b2-fe25a915c335"
      unitRef="usd">17400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktMTEtMS0xLTI4ODc3_59d17c6c-b0af-4a99-967e-56bd4e970ff7"
      unitRef="usd">8800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktMTMtMS0xLTI4ODc3_88d90086-7773-4fb1-80ae-bae73f2ed240"
      unitRef="usd">7699000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktMTUtMS0xLTI5NDQz_90ceed5e-f971-4b7f-924b-6c69b253d827"
      unitRef="usd">52800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktMTUtMS0xLTI4ODc3_cfc7111d-6f68-4192-83fd-efcc34157292"
      unitRef="usd">4072000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzktMTctMS0xLTI4ODc3_e3d90f00-bd62-4b3b-aaca-a49ca3f9d8a6"
      unitRef="usd">129954000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTEtMS0xLTI4ODc3_01b900c1-64dc-4d59-b59e-e0bfdc97701b"
      unitRef="usd">23282000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTMtMS0xLTI4ODc3_d3a7e472-b2b8-4587-90d1-b0dd9e303d03"
      unitRef="usd">940000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTUtMS0xLTI4ODc3_a6db14b5-624d-45d7-bd88-970c1efeaee8"
      unitRef="usd">3582000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTctMS0xLTI4ODc3_66c74bd4-03fa-45ea-82ed-17644624f0cd"
      unitRef="usd">2695000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTktMS0xLTI4ODc3_fa13df38-03b0-4af0-ada9-69d4e095b605"
      unitRef="usd">6482000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTExLTEtMS0yODg3Nw_ff6d3557-4b72-4a98-899a-1889e4c77c17"
      unitRef="usd">3447000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTEzLTEtMS0yODg3Nw_7b179483-a9af-4178-8861-96b193890043"
      unitRef="usd">6799000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTE1LTEtMS0yOTQ0Mw_9edaf232-ce31-41e0-9f0b-275367ac021f"
      unitRef="usd">56327000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTE1LTEtMS0yODg3Nw_fa733cdf-f9cd-42a3-b921-9d89806b0dc2"
      unitRef="usd">2063000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEwLTE3LTEtMS0yODg3Nw_409d5cda-6b3b-454c-b32d-51d6fc275411"
      unitRef="usd">105617000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTEtMS0xLTI4ODc3_55553caa-a0cc-4c3b-95ea-8e47dff4d5b7"
      unitRef="usd">264000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTMtMS0xLTI4ODc3_034340a2-a53c-44cb-9a5b-60fe972a39be"
      unitRef="usd">132000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTUtMS0xLTI4ODc3_b614b865-6d10-4a37-aaaf-c2cd7fafdf8c"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTctMS0xLTI4ODc3_7cf6f786-9fc2-4217-acc5-ce03f4d6611f"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTktMS0xLTI4ODc3_65166a95-e9a4-48bc-8e7c-4bffa9b2376b"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTExLTEtMS0yODg3Nw_f725b397-3720-4efe-99da-70df26f7204e"
      unitRef="usd">213000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTEzLTEtMS0yODg3Nw_bf6ec1e5-6a9c-4f0d-9002-ccb79138ef0f"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTE1LTEtMS0yOTQ0Mw_74c5fe04-52f5-45a8-9f31-49858e1f7516"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTE1LTEtMS0yODg3Nw_22cf9ebf-c955-42cc-8a2b-8722db53e54d"
      unitRef="usd">18000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzExLTE3LTEtMS0yODg3Nw_13982ff4-a72d-4f82-aa41-f74899905eba"
      unitRef="usd">627000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTEtMS0xLTI4ODc3_d345c147-85fb-48f2-9f89-3f8d93b5f96e"
      unitRef="usd">8416000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTMtMS0xLTI4ODc3_d724f317-25f0-4b0f-b6e2-c1cf88d84e7a"
      unitRef="usd">1184000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTUtMS0xLTI4ODc3_1c2f9a8f-0ce8-435f-8e37-3d01a2b0ce7f"
      unitRef="usd">57000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTctMS0xLTI4ODc3_a211932d-64f2-47cb-9e2a-9c614242a02b"
      unitRef="usd">493000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTktMS0xLTI4ODc3_64c26007-6578-4211-91ee-4aad264e72c8"
      unitRef="usd">1040000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTExLTEtMS0yODg3Nw_34822898-c2b2-4f7b-8481-ab8e9f515426"
      unitRef="usd">4625000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTEzLTEtMS0yODg3Nw_46375922-ecaa-4703-90fa-3db4a01a57b9"
      unitRef="usd">242000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTE1LTEtMS0yOTQ0Mw_67e7f33b-c047-4ca1-bf43-958c899fca73"
      unitRef="usd">23000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTE1LTEtMS0yODg3Nw_a25b93d8-993f-4556-8d31-7131fab35078"
      unitRef="usd">123000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEyLTE3LTEtMS0yODg3Nw_fdf2e1d4-ffee-463e-b284-6e9d991bc3f1"
      unitRef="usd">16203000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTEtMS0xLTI4ODc3_840cf116-8d6a-44f4-93c1-b81bf687dfe5"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTMtMS0xLTI4ODc3_fb258999-dbf0-4ab3-9d89-5b9df403b9be"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTUtMS0xLTI4ODc3_95e37907-fbe1-45c1-b1b0-fd9f6d8a9981"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTctMS0xLTI4ODc3_59cd6146-99ab-4117-8b13-e87a82500b22"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTktMS0xLTI4ODc3_e997d696-494a-4135-8a6b-4dc66207b29d"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTExLTEtMS0yODg3Nw_c47a37e9-a99b-4804-9225-ee5b8546c786"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTEzLTEtMS0yODg3Nw_6c45f553-9458-4a85-b190-bf5bdfecf632"
      unitRef="usd">2089000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTE1LTEtMS0yOTQ0Mw_7ca8c720-769b-43c7-9095-358f88ccaaf0"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTE1LTEtMS0yODg3Nw_02e59603-94d6-463f-b6a3-fbff64899396"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzEzLTE3LTEtMS0yODg3Nw_6e7e96f6-1c93-4a4f-8d49-b21ce0f3dc8d"
      unitRef="usd">2089000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTEtMS0xLTI4ODc3_d6956857-093f-4ba1-abd3-4c421bc78b20"
      unitRef="usd">2530000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTMtMS0xLTI4ODc3_1833ea85-3ea5-40b2-82f4-4f1757c31069"
      unitRef="usd">734000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTUtMS0xLTI4ODc3_2ab43a93-4211-4e25-9fbc-58c86f8bbbdf"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTctMS0xLTI4ODc3_99b49b7a-9159-4ea2-8f47-1ec52d248338"
      unitRef="usd">18000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTktMS0xLTI4ODc3_56229e24-87e3-4842-8124-7daaa95e6c68"
      unitRef="usd">27000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTExLTEtMS0yODg3Nw_7c656c0a-89a6-4c9e-b977-d27225ec99ff"
      unitRef="usd">14000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTEzLTEtMS0yODg3Nw_e0eb29f4-c184-468b-8548-a09da460eeb1"
      unitRef="usd">8000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTE1LTEtMS0yOTQ0Mw_e4e1f72e-09b7-454a-aff7-0dc2cd613def"
      unitRef="usd">49000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTE1LTEtMS0yODg3Nw_cc6c3373-b532-4ba5-b7fe-5ee66729ba5d"
      unitRef="usd">3000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE0LTE3LTEtMS0yODg3Nw_82fb8a1b-c192-442c-9966-2e529e5d2f7e"
      unitRef="usd">3383000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i5ac74245dc0241648a6aa55e0784cb81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTEtMS0xLTI4ODc3_1b4cdbf4-08fa-4a66-9e87-111e1589324b"
      unitRef="usd">48057000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="ic736a970fac04b8993d7c8479c73f1f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTMtMS0xLTI4ODc3_71c08ece-a449-4f02-8359-bbb592e2a7fd"
      unitRef="usd">8830000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="id2f0aaeb3d6f40d59928761aeee5c4f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTUtMS0xLTI4ODc3_439f8cbf-261d-493a-bcbe-892fe4f19ecb"
      unitRef="usd">10153000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i305a1d2d685e432b836978208cceb900_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTctMS0xLTI4ODc3_078e49c2-e00b-4576-885f-a4b07ba6742b"
      unitRef="usd">11127000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i3edb4743bee0437ab2efecd5abfad131_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTktMS0xLTI4ODc3_42f6ccaf-b0e6-4156-843e-33399bfcdab0"
      unitRef="usd">31774000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="ieb0273e5e90e40af9795086b5c586edc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTExLTEtMS0yODg3Nw_cfa7f2d3-f29d-4ff1-9f42-b7f3fea04655"
      unitRef="usd">13703000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i52fe6638ec944e5ebfc4f4315f0b4143_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTEzLTEtMS0yODg3Nw_81075d57-58b1-453e-b6ee-92c257e6ebe4"
      unitRef="usd">14595000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i3e4f58546ff24e0697562e9d6dc9b621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTE1LTEtMS0yOTQ0Mw_a014081b-8223-466f-b742-ae6b584e009f"
      unitRef="usd">126121000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="id933915e88294972af327766f0f0f4f1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTE1LTEtMS0yODg3Nw_4c2bd8a1-fbf4-4c6b-8649-8d9d69982c8f"
      unitRef="usd">7824000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i4963ce5982584f8c87f6d0e67a71b16e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE1LTE3LTEtMS0yODg3Nw_ed6af7d6-d659-4ca2-8848-021796ced33f"
      unitRef="usd">272184000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="id5655a9fac89466c85563097b58aadbf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTEtMS0xLTI4ODc3_2289fff2-e03c-49a8-b6c5-466ce5c23fa4"
      unitRef="usd">5959000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="id9b338515efa4bc3b4e8c33ca67adae6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTMtMS0xLTI4ODc3_082b6d42-d1eb-4641-b01a-5d9915f4009c"
      unitRef="usd">2980000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="id51716c892f44cfdb809bfe71b0c4838_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTUtMS0xLTI4ODc3_11412744-9f47-4c1d-9a86-f3ae1c3fbc74"
      unitRef="usd">2208000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="iec35ca51bb2a47e38ea2a30ee7041fb3_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTctMS0xLTI4ODc3_857322f9-f0f7-4fec-9d3d-e61af33c4f2c"
      unitRef="usd">1427000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i9f9e324c797a45cea0c0ea78338917fa_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTktMS0xLTI4ODc3_91214f22-3910-410f-878c-c23ba7a6664f"
      unitRef="usd">5466000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="icff9946601ee44e6b70ddc61831e5520_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTExLTEtMS0yODg3Nw_d89a6571-e286-43c4-8a39-0a3b8f73b2c1"
      unitRef="usd">2069000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i5d32f29c1baa482b8cf269b077c1b7b6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTEzLTEtMS0yODg3Nw_249d5a56-3f76-4bb8-ae91-edacd5daf25a"
      unitRef="usd">1145000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i8eee7fcd9e5c46bf8c13519b87cce0bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTE1LTEtMS0yOTQ0Mw_50ac89ce-28a7-40a0-8450-fba9e32a594e"
      unitRef="usd">6631000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTE1LTEtMS0yODg3Nw_c731b4a3-8762-4a1d-abf2-58f877d2150b"
      unitRef="usd">1284000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i61b480e96b42420ba74769fb104f8a40_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE2LTE3LTEtMS0yODg3Nw_5d881184-4f83-46fb-a27f-24bd506fbf8e"
      unitRef="usd">29169000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id5655a9fac89466c85563097b58aadbf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTEtMS0xLTI5Njkw_0c4c3458-60e1-4c62-b9f3-a52e65541d75"
      unitRef="usd">42098000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id5655a9fac89466c85563097b58aadbf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTEtMS0xLTI5Njkw_de7a8588-1c14-4b82-be0a-750486daec87"
      unitRef="usd">42098000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id9b338515efa4bc3b4e8c33ca67adae6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTMtMS0xLTI5Njkw_5105994c-ab6f-4857-9d8a-93e3bd9a0a13"
      unitRef="usd">5850000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id9b338515efa4bc3b4e8c33ca67adae6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTMtMS0xLTI5Njkw_b18a61b4-57c5-4e16-b610-43d7799a0794"
      unitRef="usd">5850000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id51716c892f44cfdb809bfe71b0c4838_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTUtMS0xLTI5Njkw_028da3ce-6a54-4b62-83ef-f5738f038480"
      unitRef="usd">7945000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id51716c892f44cfdb809bfe71b0c4838_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTUtMS0xLTI5Njkw_4a6d27fd-4ee4-4f64-9ce5-095712858c04"
      unitRef="usd">7945000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="iec35ca51bb2a47e38ea2a30ee7041fb3_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTctMS0xLTI5Njkw_c27d573b-e0df-4207-ad16-5da3d4ddfd47"
      unitRef="usd">9700000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="iec35ca51bb2a47e38ea2a30ee7041fb3_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTctMS0xLTI5Njkw_e1245096-ae1d-4bf6-bc2d-da0f34720396"
      unitRef="usd">9700000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i9f9e324c797a45cea0c0ea78338917fa_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTktMS0xLTI5Njkw_5850f7bd-9acd-4506-9478-18786a6f5071"
      unitRef="usd">26308000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i9f9e324c797a45cea0c0ea78338917fa_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTktMS0xLTI5Njkw_8fdbadb4-6457-4829-bf27-4e45b9c22b28"
      unitRef="usd">26308000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="icff9946601ee44e6b70ddc61831e5520_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTExLTEtMS0yOTY5Nw_1f79e10d-ff09-484f-9733-e0dc52bb1006"
      unitRef="usd">11634000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="icff9946601ee44e6b70ddc61831e5520_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTExLTEtMS0yOTY5Nw_ee112058-4897-45ba-9084-76564b4768e8"
      unitRef="usd">11634000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i5d32f29c1baa482b8cf269b077c1b7b6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTEzLTEtMS0yOTY5Nw_4945142e-c808-469e-b335-ae0ce6caa6d0"
      unitRef="usd">13450000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i5d32f29c1baa482b8cf269b077c1b7b6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTEzLTEtMS0yOTY5Nw_ed7bd6bf-e69a-4a63-9004-8d32b112815f"
      unitRef="usd">13450000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i8eee7fcd9e5c46bf8c13519b87cce0bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTE1LTEtMS0yOTY5Nw_13d19516-8b70-43b0-a330-200548221801"
      unitRef="usd">119490000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i8eee7fcd9e5c46bf8c13519b87cce0bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTE1LTEtMS0yOTY5Nw_f5f88660-d633-44eb-a305-d50496e0a355"
      unitRef="usd">119490000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i3902556cfdea4534bad9dee0a790bfab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTE3LTEtMS0yOTY5Nw_6bfb45bd-b0a9-447f-ae0f-0d9ca8bd1154"
      unitRef="usd">6540000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i61b480e96b42420ba74769fb104f8a40_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTE5LTEtMS0yOTY5NQ_10052d5e-867f-456a-8c10-a9431e880a07"
      unitRef="usd">243015000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i61b480e96b42420ba74769fb104f8a40_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0YzNmYWY4MzhkZTQ0ZmNiOTI5NmU2NDQ4ZTczMGZmYi90YWJsZXJhbmdlOjRjM2ZhZjgzOGRlNDRmY2I5Mjk2ZTY0NDhlNzMwZmZiXzE3LTE5LTEtMS0yOTY5NQ_d5a5f2cc-1264-4083-8523-d77d19f6663d"
      unitRef="usd">243015000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtMS0xLTEtMjU3MDU_f99fdb6a-2532-4c4e-bddd-0e9c09f1a8e7"
      unitRef="usd">2848000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtMy0xLTEtMjU3MDU_de4d9515-c51d-4614-9caf-91816dec43c3"
      unitRef="usd">3357000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtNS0xLTEtMjU3MDU_99d7be0b-2775-4c38-9ee0-f31291557b8a"
      unitRef="usd">2362000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtNy0xLTEtMjU3MDU_2262e6cd-13fb-4a85-bd47-643e5e3f0ae1"
      unitRef="usd">4828000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtOS0xLTEtMjU3MDU_b82d30bc-09ba-4bf7-8be6-f7e6bcb80703"
      unitRef="usd">1926000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtMTEtMS0xLTI1NzA1_193ea627-a4bc-41cc-adb7-855c5792f702"
      unitRef="usd">865000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtMTMtMS0xLTI1NzA1_083e4f73-ce12-40cc-83f6-52448f06ff19"
      unitRef="usd">1419000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzQtMTUtMS0xLTI1NzA1_b33d38e7-d119-43ff-9a42-3f0a1c1c1eb9"
      unitRef="usd">17605000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtMS0xLTEtMjU3MDU_0c774706-81ee-4856-bd00-a00fe95a3078"
      unitRef="usd">305000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtMy0xLTEtMjU3MDU_6f2810b0-24a4-4dfc-9b36-359a6aee01ae"
      unitRef="usd">838000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtNS0xLTEtMjU3MDU_a7cfaaf1-6a9f-4824-92e7-e42dca1798fd"
      unitRef="usd">175000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtNy0xLTEtMjU3MDU_6394ff85-1e3d-4857-bb79-3057568559e0"
      unitRef="usd">243000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtOS0xLTEtMjU3MDU_97397f69-39ab-4eff-b335-494d4544c8fd"
      unitRef="usd">444000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtMTEtMS0xLTI1NzA1_40c4f216-c40c-474e-8ee9-36b42a6cce2e"
      unitRef="usd">156000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtMTMtMS0xLTI1NzA1_8cece146-a4bf-4159-97bb-bd6119053a67"
      unitRef="usd">600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzUtMTUtMS0xLTI1NzA1_e93f8140-0154-46b8-96aa-b4a55717c2f4"
      unitRef="usd">2761000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtMS0xLTEtMjU3MDU_3ad75964-f705-4ff6-a017-072370d62d2c"
      unitRef="usd">430000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtMy0xLTEtMjU3MDU_ab9a0ff7-5ae8-4a37-8ae4-35e1a5ecae64"
      unitRef="usd">12000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtNS0xLTEtMjU3MDU_8420a684-b558-49a2-ab25-d8b7ccc0c7cf"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtNy0xLTEtMjU3MDU_74398fcd-164d-4432-b484-97a55b67e935"
      unitRef="usd">675000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtOS0xLTEtMjU3MDU_1b8590ed-c77d-4b13-81b2-c59356242e32"
      unitRef="usd">178000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtMTEtMS0xLTI1NzA1_ecf705b8-6d9b-4b0c-a8a9-2cab9fa41be8"
      unitRef="usd">14000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtMTMtMS0xLTI1NzA1_95fb3847-7422-436c-8182-cf2affe217a9"
      unitRef="usd">145000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzYtMTUtMS0xLTI1NzA1_1d142cb4-0a40-46d3-bd3c-b7a37f38d346"
      unitRef="usd">1454000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctMS0xLTEtMjU3MDU_1baa66a1-c889-4a46-8dc1-5d962ca91045"
      unitRef="usd">598000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctMy0xLTEtMjU3MDU_8c344bce-7b47-4024-8c6c-29059125c2ca"
      unitRef="usd">2319000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctNS0xLTEtMjU3MDU_68729bd0-3421-4788-a8bc-b86d47ee3dc2"
      unitRef="usd">798000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctNy0xLTEtMjU3MDU_2a15a8d6-cf75-4af6-9b09-6837854d374a"
      unitRef="usd">380000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctOS0xLTEtMjU3MDU_3c6cf858-c8a2-43c6-ada1-514ecaefe576"
      unitRef="usd">584000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctMTEtMS0xLTI1NzA1_a4f91723-1a33-40d5-a675-e359946e698d"
      unitRef="usd">520000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctMTMtMS0xLTI1NzA1_feb8208f-29e0-4461-9b86-218550a796c4"
      unitRef="usd">663000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzctMTUtMS0xLTI1NzA1_b633f788-812c-4d41-b088-f5b111357d03"
      unitRef="usd">5862000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtMS0xLTEtMjU3MDU_0f44901c-3fc8-43f0-a324-2f0552cdfeef"
      unitRef="usd">3930000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtMy0xLTEtMjU3MDU_94cd4f14-b819-484a-b65e-350691f09507"
      unitRef="usd">6500000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtNS0xLTEtMjU3MDU_081d4da5-1c5e-4437-b209-0fa2c8fc8ca3"
      unitRef="usd">8720000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtNy0xLTEtMjU3MDU_f758ff49-2c92-4639-8564-9026023eee85"
      unitRef="usd">11830000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtOS0xLTEtMjU3MDU_693f1448-5ad1-4934-98b5-6958871358e6"
      unitRef="usd">5310000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtMTEtMS0xLTI1NzA1_4bc60168-d141-4e76-ab93-dac081938beb"
      unitRef="usd">5450000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtMTMtMS0xLTI1NzA1_95161da3-79ac-4b6b-9ae0-15778eb97b08"
      unitRef="usd">4483000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzgtMTUtMS0xLTI1NzA1_1608ef14-1ea6-49bf-931f-8b3717016f45"
      unitRef="usd">46223000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktMS0xLTEtMjU3MDU_ed8a97ab-8fed-41f6-99db-7d4a8a56d49b"
      unitRef="usd">3015000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktMy0xLTEtMjU3MDU_d89694f7-cf9b-426f-a112-629d70b13cc1"
      unitRef="usd">3253000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktNS0xLTEtMjU3MDU_b692a618-449c-4e2a-a059-b304a10aba1d"
      unitRef="usd">3631000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktNy0xLTEtMjU3MDU_04e81955-9542-4f7b-bb57-c092c2507d8d"
      unitRef="usd">2870000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktOS0xLTEtMjU3MDU_0982c2e4-4a7f-4120-b48d-462568edb460"
      unitRef="usd">2841000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktMTEtMS0xLTI1NzA1_6bcad10b-3ec2-418b-9e5d-3342fd2c422f"
      unitRef="usd">3472000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktMTMtMS0xLTI1NzA1_7e46018d-06f8-4f61-9451-2d0d278e1ad0"
      unitRef="usd">2223000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzktMTUtMS0xLTI1NzA1_bd0e31ef-09a4-41c2-83f7-65bc3653411a"
      unitRef="usd">21305000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTEtMS0xLTI1NzA1_b26eb0d5-ac41-4864-99fd-a62302881de9"
      unitRef="usd">58000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTMtMS0xLTI1NzA1_f5fc3283-baf6-4501-ac4d-396a39040edd"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTUtMS0xLTI1NzA1_b19ab073-b5f3-4279-a873-8df02f24f4f7"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTctMS0xLTI1NzA1_0a2eea56-5bc4-4a00-a785-9d84c301d1b2"
      unitRef="usd">145000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTktMS0xLTI1NzA1_940405af-be02-4e15-ac49-e6bb571180aa"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTExLTEtMS0yNTcwNQ_b18d5d9b-d6f5-40b8-a49b-7a9cd2aec950"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTEzLTEtMS0yNTcwNQ_f722fa92-1e7f-44b8-97bd-c6c598bbab32"
      unitRef="usd">38000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEwLTE1LTEtMS0yNTcwNQ_d1da699d-6f14-47ef-b8be-48a1876e3dc2"
      unitRef="usd">241000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTEtMS0xLTI1NzA1_f8252933-22de-4908-82ac-9b5d0e80b709"
      unitRef="usd">1059000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTMtMS0xLTI1NzA1_e7306f86-9681-41eb-a117-001ad028c236"
      unitRef="usd">1469000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTUtMS0xLTI1NzA1_5cf87c25-4683-4155-8eb9-aec08769a9f8"
      unitRef="usd">1336000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTctMS0xLTI1NzA1_a31a2ca3-f4a0-4e56-a402-fdc38fc29918"
      unitRef="usd">445000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTktMS0xLTI1NzA1_8569143c-de57-4e53-a896-b5e9e607ce8d"
      unitRef="usd">86000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTExLTEtMS0yNTcwNQ_d512d80d-1611-43f1-9c37-4638fc79e69b"
      unitRef="usd">50000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTEzLTEtMS0yNTcwNQ_f6ec1805-d4dd-4121-8782-24eb83fbbad3"
      unitRef="usd">196000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzExLTE1LTEtMS0yNTcwNQ_10fce085-9044-45d1-9e47-63824f7cf23a"
      unitRef="usd">4641000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTEtMS0xLTI1NzA1_20602fb1-c701-4777-8856-dd239482768b"
      unitRef="usd">35000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTMtMS0xLTI1NzA1_8a2928aa-9507-47d1-a8cd-57b70211e54c"
      unitRef="usd">19000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTUtMS0xLTI1NzA1_74b5704d-f156-49a1-bcf7-ce02e4de07a4"
      unitRef="usd">14000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTctMS0xLTI1NzA1_023a8ebe-95a3-4670-bbb2-4e4b0e67c700"
      unitRef="usd">28000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTktMS0xLTI1NzA1_b986afdd-5821-441b-abd4-b4fc394c18c5"
      unitRef="usd">46000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTExLTEtMS0yNTcwNQ_23c6100f-49b3-40d4-98a1-e35c33fd4181"
      unitRef="usd">5000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTEzLTEtMS0yNTcwNQ_da138957-0f80-40c0-8324-6aa0e34a8e1a"
      unitRef="usd">131000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzEzLTE1LTEtMS0yNTcwNQ_8a8ca0ba-3754-4531-a156-7733eeffa0d2"
      unitRef="usd">278000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i072959bd1d2a452aa62521bd2744d48d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTEtMS0xLTI1NzA1_c193c040-87af-4d57-abee-219990fdfe5d"
      unitRef="usd">10090000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i42e2dd4eba004bc5b8d45ee8f4bbcc9a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTMtMS0xLTI1NzA1_4e5f468b-2d67-44f3-9dbf-d55b569a4525"
      unitRef="usd">14791000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i9a3b3fbed11345eca8680938e473f541_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTUtMS0xLTI1NzA1_126196fa-26cd-4048-abc9-94a26c4caae3"
      unitRef="usd">14336000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i8b104deffd1242aabe9feb7bf4a1fd4a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTctMS0xLTI1NzA1_489ef760-e7f5-4c4b-89ca-33a896f45693"
      unitRef="usd">20498000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i0fd5b3fbcaad4012a373fa3663d67765_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTktMS0xLTI1NzA1_636396db-e6cb-4752-a87a-b5c860e7bd9b"
      unitRef="usd">11151000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i9356cf92c43a4c2badcb79510e668892_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTExLTEtMS0yNTcwNQ_eb9cee09-2121-4ada-9d27-de9dbc9c3d9d"
      unitRef="usd">10422000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i864afebb2aad483189b2270f8b0e1984_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTEzLTEtMS0yNTcwNQ_f902829f-2b7c-491a-bad7-b8f77d715b2f"
      unitRef="usd">9244000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="iabbac1fab4da4e6bb44c4ab58be55c4f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE0LTE1LTEtMS0yNTcwNQ_8e594f8e-b584-4014-b237-f2fe0744a902"
      unitRef="usd">90532000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="icd05f54c57aa49538f1d9d3fc4568f95_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTEtMS0xLTI1NzA1_864d42be-a66e-4ecc-ae11-cbdaaad2d5f0"
      unitRef="usd">2500000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="icd153c1f96984fc6af173d8ddd2fbc64_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTMtMS0xLTI1NzA1_96d6aeeb-f7b6-4d6d-beb0-bad79ac802b7"
      unitRef="usd">1591000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i04ca077bf0664d9593065ee8e4e798f8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTUtMS0xLTI1NzA1_03c4cc08-607a-4de1-839a-8fc168ef4895"
      unitRef="usd">1336000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="idae67a05de174598b09e6266fdc3d565_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTctMS0xLTI1NzA1_abe3bd54-c3bf-478c-a9d9-bc2007fe275f"
      unitRef="usd">3598000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ibfbd684a09f342c79676a3e96ee1f989_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTktMS0xLTI1NzA1_0fc1990b-3e43-4082-92af-7a6141252347"
      unitRef="usd">2426000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i7dc39f26a5584f0a998a300b19a8c423_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTExLTEtMS0yNTcwNQ_60f42410-653b-43bb-880d-8ef6bc02d559"
      unitRef="usd">922000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTEzLTEtMS0yNTcwNQ_31caca68-3120-4021-a725-c35fe587dbda"
      unitRef="usd">1713000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ib849a21583cf4aa5b1fd8ab726e2ae05_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE1LTE1LTEtMS0yNTcwNQ_bec1e62e-d60f-47be-87a2-52daee0406b1"
      unitRef="usd">14086000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="icd05f54c57aa49538f1d9d3fc4568f95_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTEtMS0xLTI1NzA1_cd6cff8b-a224-4bf2-9081-f9a2e7643a1b"
      unitRef="usd">7590000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="icd153c1f96984fc6af173d8ddd2fbc64_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTMtMS0xLTI1NzA1_2ca314a3-3e05-4d61-8077-5b3dcaf15b9d"
      unitRef="usd">13200000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i04ca077bf0664d9593065ee8e4e798f8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTUtMS0xLTI1NzA1_2fed0161-a775-4816-956e-9348950d6617"
      unitRef="usd">13000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="idae67a05de174598b09e6266fdc3d565_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTctMS0xLTI1NzA1_d6838974-afbd-443e-b282-832cb21df731"
      unitRef="usd">16900000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ibfbd684a09f342c79676a3e96ee1f989_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTktMS0xLTI1NzA1_7ba0d02b-1d1f-43ee-8d80-1e772391f79d"
      unitRef="usd">8725000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i7dc39f26a5584f0a998a300b19a8c423_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTExLTEtMS0yNTcwNQ_f90b21a1-bbb2-4ccd-bdfe-344a0032aa01"
      unitRef="usd">9500000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i863e2f393c494ba984d3cdb51556eb2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTEzLTEtMS0yNTcwNQ_ec3d58c1-2f9c-433c-bbb1-2b958eeed0d7"
      unitRef="usd">7531000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ib849a21583cf4aa5b1fd8ab726e2ae05_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo2Mzg0MTNlMzc5N2M0MGI2ODc0ZDVjMGI5ODY1MDg0Yy90YWJsZXJhbmdlOjYzODQxM2UzNzk3YzQwYjY4NzRkNWMwYjk4NjUwODRjXzE2LTE1LTEtMS0yNTcwNQ_b6c55759-1415-4ce3-9d18-90c362ca0a24"
      unitRef="usd">76446000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzMtMS0xLTEtMjU3MDU_7c2f6fdf-2499-4b45-a0d7-39f1a8961054"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzMtMy0xLTEtMjU3MDU_089f1b0b-a32e-44b6-af13-b86ba62e872d"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzMtNS0xLTEtMjU3MDU_c035cb00-692e-4f26-ab3c-6dc5045ccf3d"
      unitRef="usd">334000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzMtNy0xLTEtMjU3MDU_921267f0-8647-4cb5-978a-3ae444b5ba6e"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzMtOS0xLTEtMjU3MDU_237b8bd5-0a88-4778-bae4-2e7413230816"
      unitRef="usd">334000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzQtMS0xLTEtMjU3MDU_7dc1cc3c-00da-4086-9a7f-4bd57ff054a2"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzQtMy0xLTEtMjU3MDU_ca0276f7-100e-4450-aa3e-c20e99ec78c4"
      unitRef="usd">1796000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzQtNS0xLTEtMjU3MDU_ab2c13e5-fc61-4081-8f31-5816063e2386"
      unitRef="usd">2929000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzQtNy0xLTEtMjU3MDU_5c7812b9-acb8-40d5-9971-443d4398eb33"
      unitRef="usd">479000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzQtOS0xLTEtMjU3MDU_5cd8267b-d275-424f-aaec-5a3cf0296e1e"
      unitRef="usd">5204000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzUtMS0xLTEtMjU3MDU_6438465b-2ca8-4411-a94a-d2bc0bdaa02a"
      unitRef="usd">291000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzUtMy0xLTEtMjU3MDU_8611ccce-d60a-405d-81e7-be6e32743863"
      unitRef="usd">723000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzUtNS0xLTEtMjU3MDU_7269c9de-3d42-4b16-b095-9f580f7c7424"
      unitRef="usd">1242000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzUtNy0xLTEtMjU3MDU_45c3eb77-617a-4c9a-bc45-8557c086872b"
      unitRef="usd">410000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzUtOS0xLTEtMjU3MDU_8fdef9fa-a0c2-427a-85d0-e5f66d1e4b59"
      unitRef="usd">2666000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzYtMS0xLTEtMjU3MDU_369cfebc-c04a-4264-9740-5bf3710f08d1"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzYtMy0xLTEtMjU3MDU_4d36a745-a0b4-4789-8b08-bd9c0d176761"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzYtNS0xLTEtMjU3MDU_83baf403-d559-4ab1-aa14-6ac62a47ae5d"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzYtNy0xLTEtMjU3MDU_eea180f0-f8cb-4b97-97f6-445740ba9580"
      unitRef="usd">3000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzYtOS0xLTEtMjU3MDU_2fc23f23-1dc9-485f-8aca-28aefbd1e0b4"
      unitRef="usd">3000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzctMS0xLTEtMjU3MDU_2a93081a-cd2e-4dfc-b199-0c01503fd0fa"
      unitRef="usd">989000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzctMy0xLTEtMjU3MDU_408d10c9-16b4-450e-a40f-e5198161603c"
      unitRef="usd">235000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzctNS0xLTEtMjU3MDU_2d29fe0b-2d1b-43ed-aa5c-40b83231ad69"
      unitRef="usd">876000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzctNy0xLTEtMjU3MDU_7fa3cc45-b488-49ec-941d-8ed73fb08108"
      unitRef="usd">887000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzctOS0xLTEtMjU3MDU_a461cd86-97fc-4557-bdb0-e79dc06ceb45"
      unitRef="usd">2987000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzgtMS0xLTEtMjU3MDU_6f64e71a-0504-4adb-854c-e7370aeb7338"
      unitRef="usd">3382000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzgtMy0xLTEtMjU3MDU_6cdace21-7562-4075-8f6f-70b278038ccc"
      unitRef="usd">6740000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzgtNS0xLTEtMjU3MDU_2714d3b8-febe-4726-bf02-a61cd6f380e5"
      unitRef="usd">14300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzgtNy0xLTEtMjU3MDU_2d727e50-d44c-44a2-ba4e-f76a1ce24f8f"
      unitRef="usd">3619000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzgtOS0xLTEtMjU3MDU_3a660273-dacc-4243-bae8-754fd45abbc5"
      unitRef="usd">28041000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzktMS0xLTEtMjU3MDU_433db2f2-6cfa-456c-8d8f-17a30e64e502"
      unitRef="usd">1857000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzktMy0xLTEtMjU3MDU_3548b9d5-239c-470e-9e2d-969ce519ffca"
      unitRef="usd">8545000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzktNS0xLTEtMjU3MDU_3bb4f48c-812b-4bef-ac2f-68795474c4bf"
      unitRef="usd">10151000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzktNy0xLTEtMjU3MDU_4350db9b-ad94-451e-a25b-1fa87cc000a6"
      unitRef="usd">1765000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzktOS0xLTEtMjU3MDU_a1802fbc-e928-4977-9dc0-8d816e691bdc"
      unitRef="usd">22318000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEwLTEtMS0xLTI1NzA1_e1ac82a0-27b4-4fc6-ae70-e0670fc9664d"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEwLTMtMS0xLTI1NzA1_0969109f-e085-4dbf-859d-1e2902452ed0"
      unitRef="usd">161000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEwLTUtMS0xLTI1NzA1_9c719441-da7d-4a5e-84b2-c2a71cae8864"
      unitRef="usd">329000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEwLTctMS0xLTI1NzA1_8fcd21dc-3bb2-424c-a3a5-fa629489c10a"
      unitRef="usd">41000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEwLTktMS0xLTI1NzA1_92f4bbbc-6ad7-4672-9224-6c77ccd65752"
      unitRef="usd">531000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzExLTEtMS0xLTI1NzA1_cbccf5af-da3f-40ca-956a-846987a45d23"
      unitRef="usd">39000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzExLTMtMS0xLTI1NzA1_d001d88c-d1be-4a66-9441-53a7492c70af"
      unitRef="usd">42000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzExLTUtMS0xLTI1NzA1_2d42825e-abc8-4e5a-8add-5aa13accfca4"
      unitRef="usd">2396000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzExLTctMS0xLTI1NzA1_9f6ae1b1-45f5-4283-9538-10a76f052677"
      unitRef="usd">24000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzExLTktMS0xLTI1NzA1_4346a35c-bbea-4b51-b7f7-d6b244988b59"
      unitRef="usd">2501000</ibp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndOtherCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="ib06750678a884bd283eb7a041999ddba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEzLTEtMS0xLTI1NzA1_c92695aa-79e3-4a91-be99-5293280fc93c"
      unitRef="usd">6480000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="ie70804ed36b541c788d22765da853ce1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEzLTMtMS0xLTI1NzA1_4d7bfd87-1c7d-435f-a8fa-230bb14eb882"
      unitRef="usd">18158000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i113dbe0a9132433bb5b7be1bb921d8d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEzLTUtMS0xLTI1NzA1_8e2ca014-97b2-441b-906e-662c2d9b8bc5"
      unitRef="usd">27765000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="ic8a689bd0cb8459bb9cf922fb7692773_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEzLTctMS0xLTI1NzA1_846c8658-4872-4569-b428-a1d80a720483"
      unitRef="usd">7180000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i1ad810d8c44d4dffb203d6a2ff269e60_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzEzLTktMS0xLTI1NzA1_a0b4e2a4-8de3-470c-8c6d-a5ac9e348965"
      unitRef="usd">59583000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i6f78bb4adaa341e3b1c2f637278bee4d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE0LTEtMS0xLTI1NzA1_78d222a4-2520-49a1-a8a0-5c391bd4ccfa"
      unitRef="usd">1355000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="icda702b2d97a4c299f9918d10eb39261_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE0LTMtMS0xLTI1NzA1_46171756-c82d-4e92-8a49-8da3b0866c37"
      unitRef="usd">1993000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i04f20f3e43174b4d8b0352621ce9dfc3_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE0LTUtMS0xLTI1NzA1_027dcb72-3794-4a68-b83a-ca5f705287cf"
      unitRef="usd">2765000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE0LTctMS0xLTI1NzA1_9ae723b6-ce6a-485e-8310-e188dd77322b"
      unitRef="usd">1430000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness
      contextRef="i011244feb3344b7aa1d4bd8f15ebe70b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE0LTktMS0xLTI1NzA1_baac2142-bdfd-4994-8007-08881a6242fd"
      unitRef="usd">7543000</ibp:SellerObligationsInConnectionWithAcquisitionOfBusiness>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i6f78bb4adaa341e3b1c2f637278bee4d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE1LTEtMS0xLTI1NzA1_faab63eb-42cc-4d18-94c9-0a849b35e75c"
      unitRef="usd">5125000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="icda702b2d97a4c299f9918d10eb39261_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE1LTMtMS0xLTI1NzA1_0d137302-069c-4407-9e94-4ca8a5035f73"
      unitRef="usd">16165000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i04f20f3e43174b4d8b0352621ce9dfc3_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE1LTUtMS0xLTI1NzA1_fa6996f2-882d-439d-9c82-79aad66fd0d0"
      unitRef="usd">25000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ic8a80c006d1240cc91e9a861c0347923_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE1LTctMS0xLTI1NzA1_d07c387c-1104-4e7d-9842-f3b7aae50d6a"
      unitRef="usd">5750000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i011244feb3344b7aa1d4bd8f15ebe70b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTphM2U1NTg5YjZlM2M0MmQyYmEzYzY4YWZmMGEyYTg5Yy90YWJsZXJhbmdlOmEzZTU1ODliNmUzYzQyZDJiYTNjNjhhZmYwYTJhODljXzE1LTktMS0xLTI1NzA1_692e0394-a61f-483b-8f5c-233f01e46098"
      unitRef="usd">52040000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4Njk_bb4a327a-b978-45c7-94eb-0253ab3563d6">&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;Estimates of acquired intangible assets related to the acquisitions are as follows (dollars in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.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:400;line-height:100%"&gt;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:400;line-height:100%"&gt;2020&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:400;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:400;line-height:100%"&gt;Acquired intangibles assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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: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 Estimated Useful Life (yrs)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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: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 Estimated Useful Life (yrs)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated 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: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 Estimated Useful Life (yrs)&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;Customer relationships&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;94,473&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&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;Trademarks and trade names&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;23,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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;15&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;9,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="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;15&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;5,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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;15&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-competition 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;7,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5&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;2,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5&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;Backlog&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,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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;2.5&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;4,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="id01d90dddf904fdaab004cdce7799510_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzItMS0xLTEtMjU3MDU_0c1d8f14-e2cc-40a9-ae0a-c35b20fb53c0"
      unitRef="usd">94473000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="id01d90dddf904fdaab004cdce7799510_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzItMy0xLTEtMjU3MDU_21bed9b9-e4d9-4598-9ab0-c267104b63e3">P12Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i980ab1ba419c494d9c3a00cd0589c2c5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzItNS0xLTEtMjU3MDU_8b12883b-ec2a-41b0-9f22-001e259a33bf"
      unitRef="usd">28307000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i980ab1ba419c494d9c3a00cd0589c2c5_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzItNy0xLTEtMjU3MDU_c2e4cacc-71c3-4702-9618-c954f9883687">P8Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="id3f2d9dc2f0144d8ba6c7127ee33e8cd_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzItOS0xLTEtMjU3MDU_b332892f-8a81-4502-a9f0-995178395579"
      unitRef="usd">20659000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="id3f2d9dc2f0144d8ba6c7127ee33e8cd_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzItMTEtMS0xLTI1NzA1_08e43b77-387d-4fcf-b623-f5e943ab0af1">P8Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ifadf1adf5186465b83ccaec823d4f4e2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzMtMS0xLTEtMjU3MDU_50e9639b-1650-4445-bbb3-3f8261781827"
      unitRef="usd">23349000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ifadf1adf5186465b83ccaec823d4f4e2_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzMtMy0xLTEtMjU3MDU_7b02f060-0cdc-4e3a-8599-787864c25bcb">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i778f5b9dbf804fe8874c47ad7a9dcd26_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzMtNS0xLTEtMjU3MDU_8f20e2f5-f230-489e-8fa1-d771ec24c4bf"
      unitRef="usd">9834000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i778f5b9dbf804fe8874c47ad7a9dcd26_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzMtNy0xLTEtMjU3MDU_a8cf4e73-2efa-47c5-a393-540f2868355d">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i710ecfed551547be9f8c778d5ce54dbc_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzMtOS0xLTEtMjU3MDU_c152483e-4aa2-4fc3-9c2b-4f67becd57dd"
      unitRef="usd">5286000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i710ecfed551547be9f8c778d5ce54dbc_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzMtMTEtMS0xLTI1NzA1_5ed34a64-2b1e-4320-9aae-ba4a5989985b">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ia2b04b2f610d4db3a8db8ce3e0850733_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzQtMS0xLTEtMjU3MDU_a98b1ba5-ed60-4452-85ba-c44da8e6202e"
      unitRef="usd">7254000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ia2b04b2f610d4db3a8db8ce3e0850733_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzQtMy0xLTEtMjU3MDU_b4e332b1-61d7-467c-bf8e-91072a7327b1">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i94dcb07c026247adbc5d3d3ad892912e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzQtNS0xLTEtMjU3MDU_9a19d099-55ce-4c98-81ee-12ed40f09198"
      unitRef="usd">3315000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i94dcb07c026247adbc5d3d3ad892912e_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzQtNy0xLTEtMjU3MDU_b4add9f0-1578-4724-8127-f341aba8eab9">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i1c0e65a5354046438ee93bcb1f158bbd_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzQtOS0xLTEtMjU3MDU_6670a8e6-2311-43be-a4fd-6eebcbfb17b4"
      unitRef="usd">2096000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i1c0e65a5354046438ee93bcb1f158bbd_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzQtMTEtMS0xLTI1NzA1_a44b8843-0b30-4021-bdc2-0ee1c29642b6">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i7df2690ae92340cb84f4300a67ec77d2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzUtMS0xLTEtMjU3MDU_10739a09-17ff-4048-9b1e-ab7aa2db56f4"
      unitRef="usd">4878000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i7df2690ae92340cb84f4300a67ec77d2_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzUtMy0xLTEtMjU3MDU_e642c43f-a2f6-4676-8fc9-2e82cd9ed5c9">P2Y6M</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ic2f17f8ce1cd481aa001d23926033bb1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzUtNS0xLTEtMjU3MDU_63306030-a143-4fc2-a539-10c092669d6f"
      unitRef="usd">4767000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ic2f17f8ce1cd481aa001d23926033bb1_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzUtNy0xLTEtMjU3MDU_b61667c6-d74e-4baf-be0f-1873d38a8940">P1Y6M</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i4a14cfc5cc2a4cd882afc7dde45733ec_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZTo0MTI5NTRjZTJkZDA0Yzc4YWM3MjZhNzEyOTIwZjYzMS90YWJsZXJhbmdlOjQxMjk1NGNlMmRkMDRjNzhhYzcyNmE3MTI5MjBmNjMxXzUtOS0xLTEtMjU3MDU_bc3f2ef9-2aa4-4352-a4cb-d433cfe002f4"
      unitRef="usd">0</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4NzA_a6c7c6aa-5e84-4479-b533-96fb1e85fd4a">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:70.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.675%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.837%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.837%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.953%"/&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="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-bottom:1pt;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;December 31,&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-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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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;Net revenue&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;2,105,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,922,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,660,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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;129,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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 net income per share&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.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.57&#160;&lt;/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;Diluted net income per share&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.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.56&#160;&lt;/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;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzItMS0xLTEtMjU3MDU_927bb67a-17f1-45c2-a311-d30853ffe749"
      unitRef="usd">2105295000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzItMy0xLTEtMjU3MDU_06266f98-180e-4a5d-931d-d5304e1f7d6e"
      unitRef="usd">1922327000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzItNS0xLTEtMjU3MDU_db3ee8cc-c54c-4541-8233-fd3910510518"
      unitRef="usd">1660326000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzMtMS0xLTEtMjU3MDU_8d1fc4b7-24fc-498a-b5ea-9727d8a4992d"
      unitRef="usd">129825000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzMtMy0xLTEtMjU3MDU_5494e91e-57a9-4073-94da-c1fd48416308"
      unitRef="usd">107791000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzMtNS0xLTEtMjU3MDU_43e06b50-b365-4ba8-84e5-52d8c20173fe"
      unitRef="usd">76474000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzQtMS0xLTEtMjU3MDU_5b2e58bb-c0eb-40d2-9c96-075addd6be96"
      unitRef="usdPerShare">4.42</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzQtMy0xLTEtMjU3MDU_e639c5d6-d75f-4fbe-8772-1c6318123a21"
      unitRef="usdPerShare">3.65</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzQtNS0xLTEtMjU3MDU_79175aeb-6fad-468e-bff6-c80ab062d922"
      unitRef="usdPerShare">2.57</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzUtMS0xLTEtMjU3MDU_8f6607f4-67d7-4383-a692-9d8b9ecdae23"
      unitRef="usdPerShare">4.38</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzUtMy0xLTEtMjU3MDU_dc5f10bd-2530-41e5-9ca4-cf3b4e9113de"
      unitRef="usdPerShare">3.63</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90YWJsZToxOTM1MmI4ZjcxMzc0MWIyYTQ1NzQ2YjBjYjgyNWQwYS90YWJsZXJhbmdlOjE5MzUyYjhmNzEzNzQxYjJhNDU3NDZiMGNiODI1ZDBhXzUtNS0xLTEtMjU3MDU_99f9d277-c2a4-48fa-b3e9-9c8a447dfcd0"
      unitRef="usdPerShare">2.56</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i044517d10881459f988213eb505df297_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ2OTk_732fe3ec-f2b1-4f3d-a66c-4ae2ab8dc093"
      unitRef="usd">8200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i99f76a2c2305424d95b03544db5a6e6c_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ3MDM_c7d7d034-7d97-4e6c-af41-e7cb4e2894e0"
      unitRef="usd">18200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ibcd211dc9f8240aa85d972102dc288ca_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ3MTA_95bfab05-7aea-4f4b-93b5-648e422d4184"
      unitRef="usd">10200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:InterestExpense
      contextRef="i044517d10881459f988213eb505df297_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ5NDc4MDIzMzExMjc_20a054fa-4314-4a54-a4f6-4410ae89c989"
      unitRef="usd">4100000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i99f76a2c2305424d95b03544db5a6e6c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ5NDc4MDIzMzExMzU_8b008c0b-eb63-4d8a-b6eb-aac62fd67695"
      unitRef="usd">4300000</us-gaap:InterestExpense>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i044517d10881459f988213eb505df297_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4MDY_9abbaed5-4370-4026-9258-0c4ab5b93fee"
      unitRef="usd">3900000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i99f76a2c2305424d95b03544db5a6e6c_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4MTA_eb426e02-eb58-44f8-8743-393b3b951328"
      unitRef="usd">3700000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ibcd211dc9f8240aa85d972102dc288ca_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDIvZnJhZzo5ZTcxYWRkY2ZmMTQ0NzA4OTExNmJjODI1ZDAxMmM5MS90ZXh0cmVnaW9uOjllNzFhZGRjZmYxNDQ3MDg5MTE2YmM4MjVkMDEyYzkxXzQ4MTc_08338922-81f2-49a5-a546-43c76e5dd48b"
      unitRef="usd">3000000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDgvZnJhZzoyZjkwMTg2MzEzMjk0ZWQzYjJlNGRhZWUyNGNlZWYzZS90ZXh0cmVnaW9uOjJmOTAxODYzMTMyOTRlZDNiMmU0ZGFlZTI0Y2VlZjNlXzkwNQ_14e57231-ad0a-40e9-8b7c-9c808c20a6d6">INCOME PER COMMON SHAREBasic net income per common share is calculated by dividing net income by the weighted average shares outstanding during the period, without consideration for common stock equivalents.Diluted net income per common share is calculated by adjusting weighted average shares outstanding for the dilutive effect of common stock equivalents outstanding for the period, determined using the treasury stock method. Potential common stock is included in the diluted income per common share calculation when dilutive. The dilutive effect of outstanding restricted stock awards after application of the treasury stock method as of December&#160;31, 2021, 2020 and 2019, was 261 thousand, 213 thousand and 120 thousand, respectively.</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDgvZnJhZzoyZjkwMTg2MzEzMjk0ZWQzYjJlNGRhZWUyNGNlZWYzZS90ZXh0cmVnaW9uOjJmOTAxODYzMTMyOTRlZDNiMmU0ZGFlZTI0Y2VlZjNlXzY4MA_83e40758-ee99-43dc-a0a7-d446bcb3c137"
      unitRef="shares">261000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i05d77ce6b41142479f749aaf83d3450a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDgvZnJhZzoyZjkwMTg2MzEzMjk0ZWQzYjJlNGRhZWUyNGNlZWYzZS90ZXh0cmVnaW9uOjJmOTAxODYzMTMyOTRlZDNiMmU0ZGFlZTI0Y2VlZjNlXzY4NA_3f857cab-25cf-4131-a4d8-225d99f46a87"
      unitRef="shares">213000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i825a015c50e24450a800317866a8d06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNDgvZnJhZzoyZjkwMTg2MzEzMjk0ZWQzYjJlNGRhZWUyNGNlZWYzZS90ZXh0cmVnaW9uOjJmOTAxODYzMTMyOTRlZDNiMmU0ZGFlZTI0Y2VlZjNlXzY5MQ_a664bafe-9a9c-4822-b230-90bc5860d771"
      unitRef="shares">120000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzY2MQ_b8c4cdb0-2fe1-48cb-a251-f38a0c8560a8">SUBSEQUENT EVENTS&lt;div style="margin-top:7pt"&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 first quarter of 2022, our Chief Executive Officer, who is also our chief operating decision maker, changed the manner in which he reviews financial information for purposes of assessing business performance and allocating resources. In response, we are in the process of modifying our internal reporting and supporting systems to reflect these changes and are evaluating the future impact on our reporting of segments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2022, we amended and extended our ABL Credit Agreement. The ABL Amendment increased the commitment amount under the ABL Revolver to $250.0&#160;million from $200.0&#160;million and extended the maturity to February 17, 2027 from September 26, 2024, and permits us to further increase the commitment amount to up to $300&#160;million. The ABL Amendment provides that the ABL Revolver will bear interest at either the base rate or term Secured Overnight Financing Rate (&#x201c;Term SOFR&#x201d;), at our election, plus a margin of 0.25% or 0.50% for base rate advances or 1.25% or 1.50% for Term SOFR advances (in each case based on a measure of availability under the ABL Credit Agreement). The amendment also provides us with the ability to reduce drawn and unused fees based on sustainability-linked key performance indicator targets and makes other modifications to the ABL Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 24, 2022, we announced that our board of directors approved a special annual dividend, payable on March 31, 2022 to stockholders of record on March 15, 2022 at a rate of 90 cents per share. In addition, we recently announced that our board of directors declared a quarterly dividend, payable on March 31, 2022 to stockholders of record on March 15, 2022 at a rate of 31.5&#160;cents per share.&lt;/span&gt;&lt;/div&gt;On February 24, 2022, we announced that our board of directors authorized an extension of our stock repurchase program through March 1, 2023 and concurrently authorized an increase in the total amount of our outstanding common stock we can purchase up to $200.0&#160;million. For more information about our stock repurchase program, see Note 12, Stockholders' Equity.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="i9a14af1cd4464fe4aa5c3a05fc7385d6_I20220224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNjYxNTg_1febfcbd-893e-48bc-9114-85c81354692c"
      unitRef="usd">250000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i6b725af97c5344769b8c664bc7525cbe_I20220131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNjYxNzQ_dfe3f45a-78c0-432d-a2e5-9230507041d8"
      unitRef="usd">200000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i9a14af1cd4464fe4aa5c3a05fc7385d6_I20220224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNjYxOTA_058fa308-9c9d-43e1-ae8c-3164eb8e2ae0"
      unitRef="usd">300000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="id3ea1b7109f1441aa15129a3f3d708b5_I20220224"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNjYyMDQ_ef09c83c-d1e7-41f6-8a41-38148914dba3"
      unitRef="number">0.0025</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ie29c56d6e70e4c0ca337f643ea56fd44_I20220224"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNjYyMTE_079deac2-5488-4893-8e69-d7081426e6bc"
      unitRef="number">0.0050</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i4422bbd9c48e496cae1f9926b7d31b87_I20220224"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNjYyMTg_c0decd81-ac92-4cbe-8696-21cefd5a66db"
      unitRef="number">0.0125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ia5ce9bc104e442a6ab5038c1ce999ba7_I20220224"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNjYyMjU_6a817cd8-e387-45fc-a813-18aba0ce9469"
      unitRef="number">0.0150</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="i74c114fb2f5e4b57907bebcc54a69218_I20220224"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNTk2MzQ_c16938da-a2d5-4e54-aa43-4a0f56833da3"
      unitRef="usdPerShare">0.90</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="ifab9e92aaa0c428a80ead59a4607ff96_I20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzY0MA_a06a039b-b2cb-4fd0-b4b7-9057940ff505"
      unitRef="usdPerShare">0.315</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i3ecc61db5fed42fa83d71e53eb5b4468_I20220224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xNTQvZnJhZzpiMzNlZDNhNTk0MGE0ZDZlYTUwOWU5YmJlMGQ4ZDUxNi90ZXh0cmVnaW9uOmIzM2VkM2E1OTQwYTRkNmVhNTA5ZTliYmUwZDhkNTE2XzIxOTkwMjMyNTk2NDE_d04a164b-b085-4c4a-a58e-3bfb2c39786c"
      unitRef="usd">200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <dei:AuditorFirmId
      contextRef="i8ab3a7c04ea64812a9cba620ef011f99_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmZkYjIzNjc3ZTU0MzRjZDU4ZWIyZjI1NzM5MDhhZWNmL3NlYzpmZGIyMzY3N2U1NDM0Y2Q1OGViMmYyNTczOTA4YWVjZl8xOTAvZnJhZzo1N2UzYjE2NjRkYWU0Nzk0YTMyODE1NmZmYzU1YWRkOC90ZXh0cmVnaW9uOjU3ZTNiMTY2NGRhZTQ3OTRhMzI4MTU2ZmZjNTVhZGQ4XzIxOTkwMjMyNTY2NDM_cf36dac8-7eb3-49cd-8f1f-42492a847d5f">34</dei:AuditorFirmId>
</xbrl>
