<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:chci="http://comstockhomes.com/20220630"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  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="chci-20220630.xsd" xlink:type="simple"/>
    <context id="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iaa3e835fdcee499bac5f083ffda23a37_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i7a6f654c8e3d480a98ce1e025452b26c_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i276478b5349d43a1b9ee4da6c9e33e94_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0c92cb776b46451b948a956ed79a345d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifedb4a2c80624963b97649e37483a0e5_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i817cfe82b6a342e988de9e9cff0e13b0_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="iba292f98f8a042008e75406bfd477ce8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7a48236b3c0b4a0a826d08225210cebd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i54f1364bd320414b8dd519163de58c54_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idad6777a8bc740b5a4a5d1bc22dd1216_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if3e0e500c016435889211c02199743a5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i18356f14f9e04be1b58e4522af59b8b7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="icae20846b313472aa5688f4c86167dba_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</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="i26052b62c9ab44ecb88d93ff31745d77_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</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="ib267e593caac4569bf0d5fd43c7a60a1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</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="i4220c3fde1b14accb9def481a5323849_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i49cfe9706d3145fbb1eb2e687ec0132f_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i5f89d142ce2a42b983930e6e26bea70e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i34a27f1e4df3466ea557dfff08a430b0_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i30c3ea7195d04fbd9d10a08e5486bf5e_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ibddbc64b14ed4f7fad5ef8da20acb65c_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="id03d9d23fd7f4023a261e48af6003abb_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i4fc7191eaf8a41cfaa23a604481acc9d_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ic55078300ba04c4db0b0c4743cb94b3a_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i052f2336e70740bf9d3e06cbb8ff1eb2_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i9d6c5616ffa14017a56cb92b7788441f_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ie17bf09a55224ebb9c53d117e7b6c13a_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i7ac9a0cff3e74241b2f0ba709e7a87cd_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1f2de36d90a44556b1dd9ef8f26780c9_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="icea553c844da4979bcb7736bf5839923_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i811361bcdc8648a8952681b0c9956be0_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i7960fba450244e86b8914ddd6801348e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="icff0bb1d75e1446f979a2b90247a1964_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i67ba90cfb75f4a61b49c6f497e86100e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ia70f39f774f240cd8abbc73f266ae80f_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ideef98e9648149f9a043477da65192d2_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i4cf34b3bf0b246a980c3853b06b3364c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifee2e83713794a89975b2c821b003849_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6ce6fec44dcb4b92b6a059194a09c1b0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic42b47554a264ca08f333cb0604786ff_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</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="i9abf0d18dba94cb8a32efd6dcf100a38_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</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="i90878f2b0fbe4ff48f308a94c09bb1f8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</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="i4a4e053bdcb745569f77b4c49f446be9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i99c63ff135094e5f8917a8d1fe4be05d_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="idcc6277b582c44318304699c2056d348_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ifc96a3205eef45bb93d562456c255673_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i4ca934e0bd874c1ea9f6234aa8f31662_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i97528c8005b340df80ded4f23f3b03f9_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="id6a14662205f478aa7f6610450ee4844_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i878d7cf9454642debd901383270a438d_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ia98df214966f443191d40c12da6499f7_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i904a0394d0dc4182abeb9c74a9af4b83_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i9aff3842824b4766a43755d06a299afc_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i01ce88c57d2547f48ff420a751e12025_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="iff6f0ab694cd42cdb52d13b67f913987_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6f836bb316f643f98a0cb5012c1bf16d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i08536ebb72304f11825a37ea8dc7e8c5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7504ec906e7b4dd89c3e299f48a0da69_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesCPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id0a86bdfa96542918a85d929319a9d16_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ia7d15e642e8e4ae6b04607945f5deac5_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i32c34edfba57462d9616bef2a3dd867f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id40fc239026146e48cae2b251dde40b1_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id8c2c8c5344441e698355468282d229d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i673b3c49ecf445828ec73a047e83859d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i00467cf3549b458185b1e593957ac615_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">chci:ComstockEnvironmentalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i7eff7bad456f432488b51e1279bc31b9_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">chci:ComstockEnvironmentalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i7968a26eb3474c39ab793f79ed40ca76_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsHeldforsaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">chci:ComstockEnvironmentalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i99dbfb6f3fd544b4b45fff94c4c8057d_I20220506">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-06</instant>
        </period>
    </context>
    <context id="ie9bc7243cf07453f81d4421377b6c8cd_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:InvestorsXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="iba4b87c1415c4dfcb824484137a06f34_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:InvestorsXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i953bb66c68fe4199891e8c8ab2bd638b_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:TheHartfordMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i90dcb2b8d36849d1bcc507f6544319df_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:TheHartfordMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2e25c677f8fa425b9651e95c93881db7_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:BLVDFortyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i13c51790380c4bd58b8d035fc262d547_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:BLVDFortyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i316f2d8a465342f0b3b8c1409f67fdaf_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:BLVDAnselMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i78957e68e78c4e64988d8b9a2770a91f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:BLVDAnselMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibd18ef37236f4dc5b60ff7cce585549d_I20190430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2019-04-30</instant>
        </period>
    </context>
    <context id="i03803d4cd36e4a3b91de262a8271853f_D20191201-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:TheHartfordMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i71231d46d4ff40469e8d0d0377c589bf_I20200229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:TheHartfordMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-02-29</instant>
        </period>
    </context>
    <context id="id3acf370e8ed49768f33257212b33cae_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">chci:HartfordInvestmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i603f1977545f435daa757b67e33ccbcf_D20211001-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">chci:BLVDFortyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ic219e62d273f444bb747e2d6d71e36a8_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">chci:BLVDFortyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ic55f544b67fd4f089fad4a9e3522b7ec_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">chci:BLVDAnselMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i0680653343c140399e4f4a9cae3cc88c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</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="i319d6ff5794f45539c7cf6c126d895dc_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i56eaf8991c334e7392f96f0bbc5094be_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i5af4a7e917a04fa79cc64acc21c1a7e4_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ibc62d4a6f5944d3985ae06403fc76844_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="iac701a754a8346fea164d0f070c9c437_I20200319">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-19</instant>
        </period>
    </context>
    <context id="ia90c5ab2db4d4c0bbd42b22c44695eee_D20200319-20200319">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">chci:WallStreetJournalPrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-19</startDate>
            <endDate>2020-03-19</endDate>
        </period>
    </context>
    <context id="i2c8b730625ec4c5ea2e522c5eb06eec3_D20200319-20200319">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-19</startDate>
            <endDate>2020-03-19</endDate>
        </period>
    </context>
    <context id="i865951144b2c403a81fcbfc5b82dd782_I20200327">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-27</instant>
        </period>
    </context>
    <context id="i9691250afa39414cbf5c1faaf0c02de4_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i405846a2747b46518e3b88576b6f3d41_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7156dcec03194df1b3beb2fdf7c63235_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i79150d0ddc54487ea7a8a6f8691257af_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">chci:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i81bd303d63914ffaa2b760d7c16712a9_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i5905199d3c9a45ab8630c6aabf3040c4_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="ib7f51855c5b44e1d9ed9835b22a4ee8e_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="icd7ab7234ce54c16a68a8cd4c03d2890_I20190212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">chci:TwoThousandNineteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-02-12</instant>
        </period>
    </context>
    <context id="ic4d3a5c8ff9547a0b57c8a15536f5185_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">chci:TwoThousandNineteenOmnibusIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i01392fca949e405b87698326fc255e90_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i84377dca862848df96404817ad47a47d_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ifbad0cd6eac04abd9e468d7794f6acb5_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i30fc75cf522d4845a9f2b8da09900259_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifd6569a1872b432cbca3be3ea72ff07d_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i3f345d12c3504263a3d2f407a9e7ff5c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i8359b0f0a6c94b8899921eece6c5d048_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:AssetManagement1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="if3bd5c77b75b4b29a4b8e111b895e87e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:AssetManagement1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i75125299badd4b66bb79004419009d26_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:AssetManagement1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i833f6f86b5de4a86a29bade2628c2ee7_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:AssetManagement1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i05123f7fd3434d049097724de25597eb_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">chci:PropertyManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i00e6d9d2a9f044c8b7d1dae89b44b3f2_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">chci:PropertyManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i46e198f51091482fb7b23bff75e9b9d7_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">chci:PropertyManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i560f69ee937c4d8cbed5afe799eeeece_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">chci:PropertyManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic53e7d0e7711457697237d2aebad05b2_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:ParkingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ifffcacec55154e978d2b4fb17d06664f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:ParkingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i59938da5879749f5873dffe619fd4e36_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:ParkingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3611184fb7114795a24c675a8faeeadc_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="chci:RevenueByLineOfBusinessAxis">us-gaap:ParkingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2a66f3b508f046bc873d7619fe328921_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3bb21544f1b9423a8480bd27b236ef8b_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if3ac36015357449187b2e5a1731eeacb_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i55da4d6c098340a69705050200c87047_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2d16fdf7c539414e8b77dddad167e714_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:CommercialCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i957fd27193b04ec2bf27d4ea6de39d1b_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:CommercialCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i53ca02059eea4ca8b1fe050c8f5f319d_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:CommercialCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i6e9709dd8848439d98ceb22e5a7a7664_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">chci:CommercialCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i23274410a964440885da05b615603696_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i61691a0e99044e8fbe30bb1a61a007a1_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i59f32692583744bdad2286da7c98340a_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ic24bbb48747e46e0a39e77caf51908b6_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4fec63d2283345d3817d35896c219dc4_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">chci:CostplusContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ia58c5b2ead9f46a480961865151be4c5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">chci:CostplusContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id64797c9361c48cdae0b0b5cc86d0225_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">chci:CostplusContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1846b8d7a38f40dc8be0c09fe4274512_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">chci:CostplusContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i36d829b9f34a4eff87e8205ca768288d_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ibe4c429b936a4c80969e96d1c884266a_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibcca5a6d369144ca9341153e0d657366_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3167e9eca975430c9ad4ba9963d26d64_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6a9be20524bc47e7bd8bd522aba6d55e_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ie4bee98bce79486aa6d85ae184f33eda_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i953d6c3682624d489d5150f0fc536ae0_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i49c888a696594cd4906b21dd1e0ef7f7_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia4676f69f7b54239b3afff16a8024f6f_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i43753f1d562444d7b492526a894a462b_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4421f721265841a28395cef80515909b_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i7691a782c0654e178e8051207a63989f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7c9262a3fcda485095d5538dfe89b195_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i27c9232910a94f90ae666d9c6d28dfcf_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie153317e1e8846ef8e1faec01a55ef87_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i18fc8ebace8a411595ac5e0246ec461b_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iff1c3fa3b7c44126b80ca88fcbd93a42_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="if6b0a70ea12847ac92540d48f50bcc13_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i623e3301c9f9432985e527b6b4a2c7c2_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:AssetManagementFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i784b7ffda1c04a75ab0360a2b2ba4ae7_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:AssetManagementFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i69c4ae53a80b47cba3574306e52ca755_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:EntitlementFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="ic032b26a7a4c46b2a29ea5ffcdab6078_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:DevelopmentAndConstructionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="id8069f3afaaf4587a16b3072fd06aecf_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:DevelopmentAndConstructionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="ib43ac402c79143a4b1d560978c936f88_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:PropertyManagementFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="ifaeaa4244b264dcd8a2fc20223ed8790_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:PropertyManagementFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="ib7dc418e6c17489db78ad91fd89fbb47_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:AcquisitionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i0980399fa6c349afbbc2715f4dbf83c8_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">chci:AssetManagementAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:AcquisitionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i7854c391af0e4506847967222b40f66d_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:AcquisitionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i3546dfbd9151498e8e6412f4891e176f_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:AcquisitionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i22a2c9579e2847bba0e4ffc1246157bb_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:DispositionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i93bdd1ed4d9a44f6bfbc85bf55e13da8_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">chci:AssetManagementAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:DispositionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="ic11156a8b40a4566a7e5ef40bfbd49b9_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:DispositionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i6b06a0bbee93497995212193281e142b_I20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:DispositionFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-13</instant>
        </period>
    </context>
    <context id="i920e9f480da44189a6353dc7bf3537c4_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:IncentiveFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i0f3b3ea6510d44858a02762c0c3c6874_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:IncentiveFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i727e5763999b4e97981d8de8a8663b9f_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:InvestmentOriginationFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i73e58e08df5b4c34a45846e53c528659_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:InvestmentOriginationFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="ib66b7086e76947029b755bd4de90c01d_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:LeasingFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i35a4fecbc6084b6f95a4e75bf6b41f75_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:LeasingFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i69b239ba3d9c44bdb280106601cf0080_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:LoanOriginationFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="i85d4511ea05346f99f715eec8d9a0d84_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:LoanOriginationFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandNineteenAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="icc6c6e0128674147b3ef2dfe51bb9813_D20220613-20220613">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:TwoThousandTwentyTwoAmendedAndRestatedAssetManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-13</startDate>
            <endDate>2022-06-13</endDate>
        </period>
    </context>
    <context id="if0d6347abc094e27953ac6ef186f05d3_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:ResidentialPropertyManagementAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="icf3bc49a4acd459c881d97ca6ee47b8e_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:ConstructionManagementAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i66e7f9794ef64abe85c65b8b270e2600_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">chci:ConstructionManagementAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockDevelopmentServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3bfb0eb3ff5341e5a07fe456cc7923cf_I20190430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockInvestorsXMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:BusinessManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-04-30</instant>
        </period>
    </context>
    <context id="i2b96af577e4b4a2fa72b9837aa641859_D20190430-20190430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ComstockInvestorsXMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:BusinessManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-30</startDate>
            <endDate>2019-04-30</endDate>
        </period>
    </context>
    <context id="i21347811a55648c6be5dce37b0d8a225_I20190701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">chci:BusinessManagementAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-01</instant>
        </period>
    </context>
    <context id="ib1c1ca71fd584d248b9243614e9642d3_I20200207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">chci:DWCOperatingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-02-07</instant>
        </period>
    </context>
    <context id="ifb7feb137a7e474ab741219ef57af500_I20201101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-01</instant>
        </period>
    </context>
    <context id="if41a1ab3f24f4c50bdc8cd8c5e55a9ea_I20220101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001299969</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">chci:ParkXManagementLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-01</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="subsidiary">
        <measure>chci:subsidiary</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="unit">
        <measure>chci:unit</measure>
    </unit>
    <unit id="vote">
        <measure>chci:vote</measure>
    </unit>
    <unit id="installment">
        <measure>chci:installment</measure>
    </unit>
    <unit id="usdPerSqft">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>utr:sqft</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:DocumentFiscalYearFocus
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80L2ZyYWc6OTU4NzNjNTc1MzY4NDU4Y2IwZDA5NDVjMDg5ZThiM2YvdGFibGU6M2VhZjllYmMwMzFmNDFkYjhhODQwY2JjNTAwNzUzYTMvdGFibGVyYW5nZTozZWFmOWViYzAzMWY0MWRiOGE4NDBjYmM1MDA3NTNhM180LTEtMS0xLTM0NDUy_2bf5bc95-8669-4dd7-a6fb-4d19b960e8bf">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80L2ZyYWc6OTU4NzNjNTc1MzY4NDU4Y2IwZDA5NDVjMDg5ZThiM2YvdGFibGU6M2VhZjllYmMwMzFmNDFkYjhhODQwY2JjNTAwNzUzYTMvdGFibGVyYW5nZTozZWFmOWViYzAzMWY0MWRiOGE4NDBjYmM1MDA3NTNhM181LTEtMS0xLTM0NDUy_600bc9ba-43a0-4070-b334-3e8a4c3ab3eb">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80L2ZyYWc6OTU4NzNjNTc1MzY4NDU4Y2IwZDA5NDVjMDg5ZThiM2YvdGFibGU6M2VhZjllYmMwMzFmNDFkYjhhODQwY2JjNTAwNzUzYTMvdGFibGVyYW5nZTozZWFmOWViYzAzMWY0MWRiOGE4NDBjYmM1MDA3NTNhM182LTEtMS0xLTM0NDUy_2f9b3985-a9c8-4bb9-a298-a393d1aa4cb1">0001299969</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80L2ZyYWc6OTU4NzNjNTc1MzY4NDU4Y2IwZDA5NDVjMDg5ZThiM2YvdGFibGU6M2VhZjllYmMwMzFmNDFkYjhhODQwY2JjNTAwNzUzYTMvdGFibGVyYW5nZTozZWFmOWViYzAzMWY0MWRiOGE4NDBjYmM1MDA3NTNhM183LTEtMS0xLTM0NDUy_f9f9f3cf-e16a-4d25-906b-15826ed02d45">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:AmendmentFlag
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80L2ZyYWc6OTU4NzNjNTc1MzY4NDU4Y2IwZDA5NDVjMDg5ZThiM2YvdGFibGU6M2VhZjllYmMwMzFmNDFkYjhhODQwY2JjNTAwNzUzYTMvdGFibGVyYW5nZTozZWFmOWViYzAzMWY0MWRiOGE4NDBjYmM1MDA3NTNhM184LTEtMS0xLTM0NDUy_2b34f7ed-3100-4c1e-b0b4-1e042ae75876">false</dei:AmendmentFlag>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ifb7feb137a7e474ab741219ef57af500_I20201101"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU4NDg5_c5041fe0-53f1-49f4-8040-7a4a5131ae19">P10Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="if41a1ab3f24f4c50bdc8cd8c5e55a9ea_I20220101"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU4NzIy_282e301b-7282-4a1b-a236-ce22fe5f169d">P5Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <dei:DocumentType
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTM1_672fd26d-9579-4255-a4fb-7c954a591c27">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6ZTI2MjFkYjdkNjQzNDUzZmI2YzhhZmNkNzg1MTgyY2UvdGFibGVyYW5nZTplMjYyMWRiN2Q2NDM0NTNmYjZjOGFmY2Q3ODUxODJjZV8wLTAtMS0xLTM0NDUy_258c7bd4-b04e-4ae1-9e1a-c462c82dc554">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8xMDk5NTExNjMwMzUy_c0d5c70b-606c-43e1-9c7a-3495a385081a">2022-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6MTczMmI1YzcxYTYzNDBiNTk1YjY2NjlhYzY0NjA0ZTIvdGFibGVyYW5nZToxNzMyYjVjNzFhNjM0MGI1OTViNjY2OWFjNjQ2MDRlMl8wLTAtMS0xLTM0NDUy_f2902423-1575-4c1b-b862-e127958f9c91">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTM2_c135227f-7301-4c50-b90d-03f6885e08e2">1-32375</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTM4_1e3fc662-8ba4-4320-b244-e863c04f1019">Comstock Holding Companies, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6NDZkZmU1NjM4MjhhNDAzNjk4MzljY2RkNDU5ZWZkNzMvdGFibGVyYW5nZTo0NmRmZTU2MzgyOGE0MDM2OTgzOWNjZGQ0NTllZmQ3M18wLTAtMS0xLTM0NDUy_88f790cd-b85c-4d58-91d1-4cce290b7493">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6NDZkZmU1NjM4MjhhNDAzNjk4MzljY2RkNDU5ZWZkNzMvdGFibGVyYW5nZTo0NmRmZTU2MzgyOGE0MDM2OTgzOWNjZGQ0NTllZmQ3M18wLTEtMS0xLTM0NDUy_c5e4997f-5200-471b-85d8-22557e37fdba">20-1164345</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTM5_a2698b97-e396-44d8-96f3-13c333b0272a">1900 Reston Metro Plaza</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTMy_b28fa680-dc19-42e0-8b6e-ffde710f4a81">10th Floor</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTMz_097094d0-c108-4424-9707-d0af25185128">Reston</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTM0_48c87ec5-0980-4989-9a7c-d1262949b371">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV82Nzk_dc02a9ef-d631-4e82-a208-94274296b28f">20190</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV82ODM_b24ee1e4-c27d-408b-8222-5a612cea22a3">703</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTMw_8f835a7a-fed8-4e26-b0b1-20e955e9a7fc">230-1985</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6MWMzZjhjNTE0MmYxNDRmMzg2ODMzYjQ4NDdhYmQ1NGUvdGFibGVyYW5nZToxYzNmOGM1MTQyZjE0NGYzODY4MzNiNDg0N2FiZDU0ZV8xLTAtMS0xLTM0NDUy_6992803e-2cd4-4c9e-a947-cf35ab585885">Class A Common Stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6MWMzZjhjNTE0MmYxNDRmMzg2ODMzYjQ4NDdhYmQ1NGUvdGFibGVyYW5nZToxYzNmOGM1MTQyZjE0NGYzODY4MzNiNDg0N2FiZDU0ZV8xLTItMS0xLTM0NDUy_5b617842-ec99-40ff-87ce-6f1b00bf2fc9">CHCI</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6MWMzZjhjNTE0MmYxNDRmMzg2ODMzYjQ4NDdhYmQ1NGUvdGFibGVyYW5nZToxYzNmOGM1MTQyZjE0NGYzODY4MzNiNDg0N2FiZDU0ZV8xLTQtMS0xLTM0NDUyL3RleHRyZWdpb246MDkzOGQyYWE1NzQ5NDM1Nzg5OTA4MGUwMWI3OTI1OTNfNA_09eedfe0-dcc3-4064-aee6-cbfbfd0f8bd2">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTQw_6766609b-adf6-44c1-abf5-1555f3815248">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTMx_c51faa7d-9883-4b4e-a6ce-ca580b5a59ae">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6Mzc2NzJlMWU0MDg4NDk0MzgwOTk0MzVjYzlhNjQyY2QvdGFibGVyYW5nZTozNzY3MmUxZTQwODg0OTQzODA5OTQzNWNjOWE2NDJjZF8xLTAtMS0xLTM0NDUy_d60b4113-b74c-4013-9326-8fd888e78ecd">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6Mzc2NzJlMWU0MDg4NDk0MzgwOTk0MzVjYzlhNjQyY2QvdGFibGVyYW5nZTozNzY3MmUxZTQwODg0OTQzODA5OTQzNWNjOWE2NDJjZF8xLTQtMS0xLTM0NDUy_389203a0-2bfc-48fb-9fdd-87f6032d2baf">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGFibGU6Mzc2NzJlMWU0MDg4NDk0MzgwOTk0MzVjYzlhNjQyY2QvdGFibGVyYW5nZTozNzY3MmUxZTQwODg0OTQzODA5OTQzNWNjOWE2NDJjZF8yLTQtMS0xLTM0NDUy_232a06be-ee77-4692-b5ef-7dc96fa39194">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNTQx_758ef1fe-2d82-4c00-aad9-23b3eba9d0fe">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="iaa3e835fdcee499bac5f083ffda23a37_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV81NDk3NTU4MTQxNDcz_943e54f8-ab21-458a-b8d7-4ccdca82cc94"
      unitRef="shares">9343894</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i7a6f654c8e3d480a98ce1e025452b26c_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xL2ZyYWc6Nzg5ZjRlYWU1NzlhNDgwNGI5OGZmMGM0MjE0OTE0YzEvdGV4dHJlZ2lvbjo3ODlmNGVhZTU3OWE0ODA0Yjk4ZmYwYzQyMTQ5MTRjMV8yNDM0_6803e08e-8c36-4990-90d0-91b5fbf10e39"
      unitRef="shares">220250</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNC0xLTEtMS0zNDQ1Mg_95bfc9eb-14f9-4556-9673-d17a71946004"
      unitRef="usd">8427000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNC0zLTEtMS0zNDQ1Mg_50cc6e57-eb23-4053-895e-6e41425a0d6c"
      unitRef="usd">15823000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNS0xLTEtMS0zNDQ1Mg_db2859e5-e741-4047-bc94-8f0ba0a51497"
      unitRef="usd">826000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNS0zLTEtMS0zNDQ1Mg_573af38e-7652-4d02-8640-dca365304f07"
      unitRef="usd">46000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableRelatedPartiesCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNi0xLTEtMS0zNDQ1Mg_0320a231-91b4-48c1-8cf3-486d12f4ba15"
      unitRef="usd">2933000</us-gaap:AccountsReceivableRelatedPartiesCurrent>
    <us-gaap:AccountsReceivableRelatedPartiesCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNi0zLTEtMS0zNDQ1Mg_29c951f6-e5b3-4ed2-bfe0-81ae49b1fcd6"
      unitRef="usd">1697000</us-gaap:AccountsReceivableRelatedPartiesCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNy0xLTEtMS0zNDQ1Mg_6f87c618-1793-4da6-914a-23d92caf3d85"
      unitRef="usd">490000</us-gaap:PrepaidExpenseAndOtherAssets>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNy0zLTEtMS0zNDQ1Mg_04cf10fb-ff52-40e8-b197-c875d4ddbd87"
      unitRef="usd">197000</us-gaap:PrepaidExpenseAndOtherAssets>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfOC0xLTEtMS0zNDQ1Mg_e0dfef8f-5b31-46d7-977d-810656c20401"
      unitRef="usd">0</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfOC0zLTEtMS0zNDQ1Mg_f5818bc0-04e8-44ea-bf18-9719b96a8d08"
      unitRef="usd">2313000</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfOS0xLTEtMS0zNDQ1Mg_849e5144-51aa-47d0-a4ae-858902f6c11b"
      unitRef="usd">12676000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfOS0zLTEtMS0zNDQ1Mg_8a7b4b6b-d12e-440d-97c7-2c94dc644e40"
      unitRef="usd">20076000</us-gaap:AssetsCurrent>
    <chci:PropertyPlantAndEquipmentNetExcludingLeaseholdImprovements
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTAtMS0xLTEtMzQ0NTI_9ee44e8c-3c4c-4469-86ec-7d2a975334c7"
      unitRef="usd">379000</chci:PropertyPlantAndEquipmentNetExcludingLeaseholdImprovements>
    <chci:PropertyPlantAndEquipmentNetExcludingLeaseholdImprovements
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTAtMy0xLTEtMzQ0NTI_3e3cdf41-b08c-4636-86bc-f2e58d7de7d2"
      unitRef="usd">264000</chci:PropertyPlantAndEquipmentNetExcludingLeaseholdImprovements>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTEtMS0xLTEtMzQ0NTI_23b5b608-8d22-4a2d-9f0e-5d051993d79a"
      unitRef="usd">144000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTEtMy0xLTEtMzQ0NTI_c6115e4f-8902-45f9-9d44-dcf10f1806b4"
      unitRef="usd">0</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <chci:LeaseholdImprovementsNet
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTItMS0xLTEtMzQ0NTI_9b705231-5bf8-4556-b21a-0f8e0cff3cb5"
      unitRef="usd">133000</chci:LeaseholdImprovementsNet>
    <chci:LeaseholdImprovementsNet
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTItMy0xLTEtMzQ0NTI_4e047d62-ed65-4c60-9b4f-d83bd5cd5a55"
      unitRef="usd">0</chci:LeaseholdImprovementsNet>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTMtMS0xLTEtMzQ0NTI_0762bd97-5370-47ce-a6e3-3a4a21bd58fd"
      unitRef="usd">7455000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTMtMy0xLTEtMzQ0NTI_72dbbbbe-6420-414c-8e8c-572fa99eacda"
      unitRef="usd">4702000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTQtMS0xLTEtMzQ0NTI_356c8bc2-b4aa-4d24-8399-6179c7c6b6f8"
      unitRef="usd">6985000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTQtMy0xLTEtMzQ0NTI_54b50904-7238-4bf7-8a25-0d401bdec8c0"
      unitRef="usd">7245000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTUtMS0xLTEtMzQ0NTI_730da62b-018d-4573-b769-c45d1a8e40c7"
      unitRef="usd">11427000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTUtMy0xLTEtMzQ0NTI_284c72a3-47c8-4d82-b39a-9df37cad5a6c"
      unitRef="usd">11300000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssets
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTYtMS0xLTEtMzQ1NDM_5edca24e-d8e7-4667-bbc0-34b3274eaed1"
      unitRef="usd">26000</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTYtMy0xLTEtMzQ1NDM_0442f0fe-68dc-4556-96c8-b25cf89fdbde"
      unitRef="usd">15000</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTktMS0xLTEtMzQ1NDM_4947a661-eca2-412e-9201-0c3055b3429c"
      unitRef="usd">39225000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMTktMy0xLTEtMzQ1NDM_515d5f67-c9d0-4896-a698-fbe433bde6f0"
      unitRef="usd">43602000</us-gaap:Assets>
    <chci:AccruedPersonnelCosts
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjMtMS0xLTEtMzQ0NTI_8f5ec9ae-ca8b-44a3-b07b-6b64759dd35e"
      unitRef="usd">2206000</chci:AccruedPersonnelCosts>
    <chci:AccruedPersonnelCosts
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjMtMy0xLTEtMzQ0NTI_bcae888d-4adf-4264-aec2-9ed6332e4bb3"
      unitRef="usd">3468000</chci:AccruedPersonnelCosts>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjQtMS0xLTEtMzQ0NTI_8261f771-8ebd-4d82-8477-ffe993685f99"
      unitRef="usd">649000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjQtMy0xLTEtMzQ0NTI_f7bc185f-8247-4865-9013-e8c1cc7fcf49"
      unitRef="usd">783000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjUtMS0xLTEtMzQ1NDM_e54ef9fc-6645-4f20-90bc-a9aa0c82e0b0"
      unitRef="usd">679000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjUtMy0xLTEtMzQ1NDM_09a9248e-e350-4f7f-934f-82c4c7873518"
      unitRef="usd">616000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:DueToAffiliateCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjctMS0xLTEtMzQ0NTI_ab47345b-fae9-4449-903f-690ebf9b5166"
      unitRef="usd">5500000</us-gaap:DueToAffiliateCurrent>
    <us-gaap:DueToAffiliateCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjctMy0xLTEtMzQ0NTI_17d22a1a-e077-4aa3-9b75-48de00b0f72d"
      unitRef="usd">0</us-gaap:DueToAffiliateCurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjgtMS0xLTEtMzQ0NTI_e43636c0-49a5-4a14-8abc-13beb6b50bf5"
      unitRef="usd">0</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjgtMy0xLTEtMzQ0NTI_8c115811-fc8b-4148-870d-0190a64268f0"
      unitRef="usd">1194000</us-gaap:LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjktMS0xLTEtMzQ0NTI_deb8c93d-0f88-45fb-83ae-d403c752b8d6"
      unitRef="usd">9034000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMjktMy0xLTEtMzQ0NTI_21147e02-e18c-4dac-bcf6-47e545130c06"
      unitRef="usd">6061000</us-gaap:LiabilitiesCurrent>
    <us-gaap:NotesPayableRelatedPartiesNoncurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzAtMS0xLTEtMzQ0NTI_57372cc4-7185-4d65-ae0c-eeac7eb1d9b4"
      unitRef="usd">0</us-gaap:NotesPayableRelatedPartiesNoncurrent>
    <us-gaap:NotesPayableRelatedPartiesNoncurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzAtMy0xLTEtMzQ0NTI_287e94d4-d064-4f03-a37b-6b44e1d7dd2a"
      unitRef="usd">5500000</us-gaap:NotesPayableRelatedPartiesNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzEtMS0xLTEtMzQ0NTI_58210246-57ef-4d32-91b2-4b6680678b59"
      unitRef="usd">6570000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzEtMy0xLTEtMzQ0NTI_cd27b5e4-df94-4bab-a36f-56d7c8ba171b"
      unitRef="usd">6745000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzItMS0xLTEtMzQ0NTI_88521235-a439-40e6-865d-b53083edf148"
      unitRef="usd">15604000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzItMy0xLTEtMzQ0NTI_4a6fe7e4-140e-4b4d-a5a0-d005eca73fb8"
      unitRef="usd">18306000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzMtMS0xLTEtMzUyNDA_32b50fb8-db41-408d-a9ca-45628e49efb7"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzMtMy0xLTEtMzUyNDA_751657aa-0d75-4184-9a6b-740b69cafe40"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i0c92cb776b46451b948a956ed79a345d_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNDU_78fa665f-9c24-48e1-96dc-ff03e875bdb9"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ifedb4a2c80624963b97649e37483a0e5_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNDU_9ade853a-5ad2-449f-9dac-a7bc6e3c55fd"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ifedb4a2c80624963b97649e37483a0e5_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNTQ_b49c8c0d-bc09-4b54-b6bc-a12a293fa855"
      unitRef="shares">20000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i0c92cb776b46451b948a956ed79a345d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNTQ_de7688b0-79a1-4f2d-8e4a-191aee7464d9"
      unitRef="shares">20000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ifedb4a2c80624963b97649e37483a0e5_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNzM_0f00fa98-0ed7-44c2-be1e-53aea9419040"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ifedb4a2c80624963b97649e37483a0e5_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNzM_991297cf-8bb0-4bfd-93f3-1bf3c34a7696"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i0c92cb776b46451b948a956ed79a345d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNjU_52d28238-c228-4eed-af00-deb3698016ae"
      unitRef="shares">3441000</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i0c92cb776b46451b948a956ed79a345d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjpkODg2YTIwYTZkY2I0NWYxOTc5ZWU2ODZmNzdmNTU3N181NDk3NTU4MTQyNjU_b822d89c-420b-47a8-b8c2-65500717d47b"
      unitRef="shares">3441000</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="ifedb4a2c80624963b97649e37483a0e5_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMS0xLTEtMzQ0NTI_38d52333-ba9b-4801-8827-49ff55fa317e"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i0c92cb776b46451b948a956ed79a345d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzUtMy0xLTEtMzQ0NTI_a1c1e444-ea22-4ca4-88d7-e6d716caf963"
      unitRef="usd">6765000</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i817cfe82b6a342e988de9e9cff0e13b0_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQwOTU_096f3975-5ddf-4ea1-8be9-ee552fc2e013"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="iba292f98f8a042008e75406bfd477ce8_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQwOTU_4410da12-9c09-42d6-a9d1-1de8443abaca"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="iba292f98f8a042008e75406bfd477ce8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQxMDQ_74f2ee28-0754-40ef-804a-4c78e7ec8ffc"
      unitRef="shares">59780000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i817cfe82b6a342e988de9e9cff0e13b0_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQxMDQ_e92440f6-0173-46ae-a139-c9cf7243013b"
      unitRef="shares">59780000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i817cfe82b6a342e988de9e9cff0e13b0_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQxMzI_0463fdda-293d-4322-a7f5-fb1022cee0fb"
      unitRef="shares">9298000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i817cfe82b6a342e988de9e9cff0e13b0_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQxNDI_6b547c6d-d163-41dc-8196-9c0688efaf80"
      unitRef="shares">9213000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="iba292f98f8a042008e75406bfd477ce8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQxMTM_fee0c80f-c3c5-453a-b811-09e23ef5e0a8"
      unitRef="shares">8102000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iba292f98f8a042008e75406bfd477ce8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoxOTc2NzdkM2I5ZDI0NmFmYTI3M2ExMThkZDVlYzUwMF81NDk3NTU4MTQxMjI_380a9012-4c85-496e-ba37-72cbe369809d"
      unitRef="shares">8017000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i817cfe82b6a342e988de9e9cff0e13b0_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMS0xLTEtMzQ0NTI_2032df2e-23ba-4829-b4e0-dc908f5d6e89"
      unitRef="usd">93000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="iba292f98f8a042008e75406bfd477ce8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzYtMy0xLTEtMzQ0NTI_24b45342-aa23-4548-886c-9e9d59be0630"
      unitRef="usd">81000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i7a48236b3c0b4a0a826d08225210cebd_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDI_43b3817d-ef11-489e-a3de-bda23b40a356"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i54f1364bd320414b8dd519163de58c54_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDI_ff6edd54-3724-478a-bb4b-b95b443b21b8"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i7a48236b3c0b4a0a826d08225210cebd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDg_08f5a0a0-98c4-4743-873c-e635614facd2"
      unitRef="shares">220000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i54f1364bd320414b8dd519163de58c54_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDg_4c85afc7-e9ab-404d-88af-304d39a4b44e"
      unitRef="shares">220000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i54f1364bd320414b8dd519163de58c54_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDg_5b063652-6842-4da9-929f-2aa2ff5735b5"
      unitRef="shares">220000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7a48236b3c0b4a0a826d08225210cebd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDg_6e6453bb-0151-480c-9a34-cb92a68fe5f0"
      unitRef="shares">220000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i54f1364bd320414b8dd519163de58c54_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDg_b58c9ffc-7b32-48ce-b8f3-93a80f2d3536"
      unitRef="shares">220000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i7a48236b3c0b4a0a826d08225210cebd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjoyNjE5MTZiMzIzMzM0MWNjYTM5ZmQxZmE1YTQ3MzRlZl81NDk3NTU4MTQwNDg_c992ed15-3e85-41e3-a840-f51867800125"
      unitRef="shares">220000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i54f1364bd320414b8dd519163de58c54_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMS0xLTEtMzQ0NTI_4841a6a1-147f-48a8-8f32-8a7c955f2ca5"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i7a48236b3c0b4a0a826d08225210cebd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzctMy0xLTEtMzQ0NTI_889dc0fa-527d-4f7f-a325-366ecebcb087"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzgtMS0xLTEtMzQ0NTI_138c8019-826c-4ef3-a260-247e776394d4"
      unitRef="usd">201198000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzgtMy0xLTEtMzQ0NTI_8d716365-2436-4d0a-b703-0afa9a049534"
      unitRef="usd">200617000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:TreasuryStockShares
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzktMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjo2YjAzZjQ4NzFhMzA0ODI2YmY1ZDljOWQwNTI3YjkxZl81NDk3NTU4MTM5NTM_00608e52-72b0-4d49-b8ef-0d8a4f3b433a"
      unitRef="shares">86000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzktMC0xLTEtMzQ0NTIvdGV4dHJlZ2lvbjo2YjAzZjQ4NzFhMzA0ODI2YmY1ZDljOWQwNTI3YjkxZl81NDk3NTU4MTM5NTM_79a2d4c0-3ea7-482c-90da-6fa9c54e73a1"
      unitRef="shares">86000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzktMS0xLTEtMzQ0NTI_5b58ba2f-cc7d-4c4d-8b99-fdd53d025c86"
      unitRef="usd">2662000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfMzktMy0xLTEtMzQ0NTI_70f7cc5d-9745-4153-8c4a-17b0ad847971"
      unitRef="usd">2662000</us-gaap:TreasuryStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNDAtMS0xLTEtMzQ0NTI_209b8ae4-cb58-4f6f-bc81-95e31522eff9"
      unitRef="usd">-175010000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNDAtMy0xLTEtMzQ0NTI_400b4c8d-b6cb-42a6-bec2-c8cfca105172"
      unitRef="usd">-179507000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNDEtMS0xLTEtMzQ0NTI_5b505f9a-6426-46d5-acac-2ba3695c7f01"
      unitRef="usd">23621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNDEtMy0xLTEtMzQ0NTI_b21e42f0-59ef-4523-8884-cc815527706c"
      unitRef="usd">25296000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNDItMS0xLTEtMzQ1NDM_99388a6b-acde-40da-b11b-eb768663f04f"
      unitRef="usd">39225000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xNi9mcmFnOmM4NGU5YjRlZjM4NzRhZDU4YjQ3MmZjYTNkZDJlNDJmL3RhYmxlOmJiYTk0M2ExZWZhZjQ4MWFhMmE1YTk4MzQyYWZhYjU4L3RhYmxlcmFuZ2U6YmJhOTQzYTFlZmFmNDgxYWEyYTVhOTgzNDJhZmFiNThfNDItMy0xLTEtMzQ1NDM_132989e4-06f8-4227-9e29-d1a2cb6c9560"
      unitRef="usd">43602000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMi0xLTEtMS0zNDY0NA_586c3853-6106-4a9d-8b1d-c61055a9b1f6"
      unitRef="usd">8467000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMi0zLTEtMS0zNDY0NA_98fc623b-0490-4cd9-a5f8-9466330353d4"
      unitRef="usd">6324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMi01LTEtMS0zNDQ1Mg_a324bf68-fc17-4d5b-93c1-9356ddc944b1"
      unitRef="usd">17198000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMi03LTEtMS0zNDQ1Mg_3fd2d1e9-747c-4167-a9d0-ea0bdf041489"
      unitRef="usd">13164000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNC0xLTEtMS0zNDY0NA_9080bd84-cbc3-43a6-ba35-2a8c977f5348"
      unitRef="usd">6831000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNC0zLTEtMS0zNDY0NA_ff1db2d4-41f4-4693-8521-4258db33d277"
      unitRef="usd">5502000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNC01LTEtMS0zNDQ1Mg_90ad45e1-a43b-498d-94d8-67990d5f86d1"
      unitRef="usd">13766000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNC03LTEtMS0zNDQ1Mg_38e7ed1d-94f5-4d37-b2b4-eaf22e8043f0"
      unitRef="usd">11580000</us-gaap:CostOfRevenue>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNS0xLTEtMS0zNDY0NA_898db59b-12a7-4949-b75a-7df12b782bec"
      unitRef="usd">469000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNS0zLTEtMS0zNDY0NA_4f37c31e-1973-4eda-b9c7-ca755fc59c5e"
      unitRef="usd">308000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNS01LTEtMS0zNDQ1Mg_ca376fe6-23f5-444e-9a24-4d3912eebc4c"
      unitRef="usd">856000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNS03LTEtMS0zNDQ1Mg_0f3bd583-5494-4324-a551-571982b68ccd"
      unitRef="usd">607000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:DepreciationAndAmortization
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNi0xLTEtMS0zNDY0NA_cf5718cb-425f-4606-af1d-d119af101244"
      unitRef="usd">50000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNi0zLTEtMS0zNDY0NA_d4d5da28-ce6b-4f4b-b3ed-44e37b8f5ade"
      unitRef="usd">22000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNi01LTEtMS0zNDQ1Mg_0d35f6d2-b3f6-4a8c-8d68-90a5ed0503b2"
      unitRef="usd">94000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNi03LTEtMS0zNDQ1Mg_3d3b9eb3-4307-40e7-b570-2d6d7e0c9470"
      unitRef="usd">42000</us-gaap:DepreciationAndAmortization>
    <us-gaap:CostsAndExpenses
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNy0xLTEtMS0zNDQ1Mg_810ef480-b816-46d2-9795-127064582eae"
      unitRef="usd">7350000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNy0zLTEtMS0zNDQ1Mg_20f7846d-f23b-4f51-ad4c-c8f99c934166"
      unitRef="usd">5832000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNy01LTEtMS0zNDQ1Mg_22153917-a5e2-4b58-a240-b26fba43aa75"
      unitRef="usd">14716000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfNy03LTEtMS0zNDQ1Mg_e0543999-902a-4716-93be-e30ce22e7aa4"
      unitRef="usd">12229000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfOC0xLTEtMS0zNDQ1Mg_6de3ca27-5913-42e1-a874-65c2a30090b7"
      unitRef="usd">1117000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfOC0zLTEtMS0zNDQ1Mg_0225a701-28f2-4d16-ab0a-533c97501f8c"
      unitRef="usd">492000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfOC01LTEtMS0zNDQ1Mg_ba843453-2faf-488c-a7ce-052af5c09ccb"
      unitRef="usd">2482000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfOC03LTEtMS0zNDQ1Mg_bf68ed97-c939-4edc-bde2-3820b1190686"
      unitRef="usd">935000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTAtMS0xLTEtMzQ2NDQ_98c77283-6f5b-40bf-b5fc-50d3eb84d156"
      unitRef="usd">-69000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTAtMy0xLTEtMzQ2NDQ_f552ad93-05f2-4ea2-ac92-acfebcacbccd"
      unitRef="usd">-58000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTAtNS0xLTEtMzQ0NTI_3c874197-a74d-4c6d-ba8b-c43e11954c5a"
      unitRef="usd">-128000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTAtNy0xLTEtMzQ0NTI_b1c42b0c-6924-46df-bd7b-ecd01a4656d4"
      unitRef="usd">-116000</us-gaap:InterestIncomeExpenseNet>
    <chci:ChangeInFairValueOfEquityMethodInvestment
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTEtMS0xLTEtMzQ2NDQ_fad4cd16-a8cc-4467-bd9b-fc0b717f6c6b"
      unitRef="usd">-17000</chci:ChangeInFairValueOfEquityMethodInvestment>
    <chci:ChangeInFairValueOfEquityMethodInvestment
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTEtMy0xLTEtMzQ2NDQ_dc7d2682-3ca9-4934-8eb9-de90b8b83672"
      unitRef="usd">100000</chci:ChangeInFairValueOfEquityMethodInvestment>
    <chci:ChangeInFairValueOfEquityMethodInvestment
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTEtNS0xLTEtMzQ0NTI_5f3f3ab7-2766-4c2c-9300-631177a52b7a"
      unitRef="usd">-269000</chci:ChangeInFairValueOfEquityMethodInvestment>
    <chci:ChangeInFairValueOfEquityMethodInvestment
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTEtNy0xLTEtMzQ0NTI_b51ec8fa-817c-4ac3-af35-9515a0d8fd44"
      unitRef="usd">94000</chci:ChangeInFairValueOfEquityMethodInvestment>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTItMS0xLTEtMzQ2NDQ_5c0f6bd3-6acb-4bf3-8e13-863f41e64bfe"
      unitRef="usd">1000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTItMy0xLTEtMzQ2NDQ_2798ec64-1968-4444-8c92-026ca0ac1ab5"
      unitRef="usd">-1000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTItNS0xLTEtMzQ0NTI_d82f67e1-7937-4209-a3b3-009955a0b6fe"
      unitRef="usd">1000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTItNy0xLTEtMzQ0NTI_cd91e52b-449c-411a-b890-24156a6b86c1"
      unitRef="usd">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTMtMS0xLTEtMzQ0NTI_1c414873-5f6b-40e3-8a0e-4e2da0891409"
      unitRef="usd">1066000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTMtMy0xLTEtMzQ0NTI_46537198-e0b6-4632-9067-79f722389ebf"
      unitRef="usd">333000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTMtNS0xLTEtMzQ0NTI_f9348717-dc2c-4d41-b51d-549677a9f6c3"
      unitRef="usd">2624000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTMtNy0xLTEtMzQ0NTI_ba4b71c3-b0f5-4716-9024-ad7db3e2a69c"
      unitRef="usd">725000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTQtMS0xLTEtMzQ2NDQ_3e048f9e-5ddd-47cc-b640-fe5a9703d39a"
      unitRef="usd">352000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTQtMy0xLTEtMzQ2NDQ_234cdc31-3721-4e16-8ea9-bae65753076c"
      unitRef="usd">-11316000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTQtNS0xLTEtMzQ0NTI_0b8f776a-61a6-41f7-a22c-ebed0d1fdf6b"
      unitRef="usd">-104000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTQtNy0xLTEtMzQ0NTI_825298bc-1d6e-4b07-a804-a1a9497d8e45"
      unitRef="usd">-11314000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTUtMS0xLTEtMzQ0NTI_f5975164-b851-42ea-af76-807fb61b6a6d"
      unitRef="usd">714000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTUtMy0xLTEtMzQ0NTI_bf6d9741-bb12-4fdd-ac28-30ae8f7c61a5"
      unitRef="usd">11649000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTUtNS0xLTEtMzQ0NTI_388df6e1-d1b9-4415-8076-a7f5c5e242ca"
      unitRef="usd">2728000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTUtNy0xLTEtMzQ0NTI_ec34c5d6-088a-4973-9dac-52e473460ac2"
      unitRef="usd">12039000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTYtMS0xLTEtMzQ2NDQ_439a5263-7b85-4d50-ba1e-67875411e8c9"
      unitRef="usd">-10000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTYtMy0xLTEtMzQ2NDQ_e6a5c87e-6348-4729-be9e-2768643180b5"
      unitRef="usd">-444000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTYtNS0xLTEtMzQ0NTI_1af46c11-8fd9-4576-bdcf-d2eaa77689ac"
      unitRef="usd">-277000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTYtNy0xLTEtMzQ0NTI_bf151879-4e5d-4018-a2ef-322772b0a2fa"
      unitRef="usd">-587000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:NetIncomeLoss
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTctMS0xLTEtMzQ0NTI_e30ab230-f2b7-4db7-aef5-1da217bce2cd"
      unitRef="usd">704000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTctMy0xLTEtMzQ0NTI_253532e1-4620-4673-bd86-cd59135fe1ff"
      unitRef="usd">11205000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTctNS0xLTEtMzQ0NTI_03f9b7c6-e858-4c8a-948c-8ede2ac63b68"
      unitRef="usd">2451000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTctNy0xLTEtMzQ0NTI_2c967b81-0b00-4c68-b175-72b699fe810e"
      unitRef="usd">11452000</us-gaap:NetIncomeLoss>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTgtMS0xLTEtMzU3NDk_a56a1040-3a25-4f34-9792-3c1f1f95ac19"
      unitRef="usd">2046000</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTgtMy0xLTEtMzU3NDk_47f87815-76ee-46ed-be73-c9d6d02eae19"
      unitRef="usd">0</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTgtNS0xLTEtMzU3NDk_69358bae-68da-4e6d-964d-850767829d79"
      unitRef="usd">2046000</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTgtNy0xLTEtMzU3NDk_df2de868-c2df-4498-ab07-d0ec58a0576c"
      unitRef="usd">0</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktMS0xLTEtMzU3NDk_22ec91ae-1323-40f4-8888-63f3a172ae56"
      unitRef="usd">2750000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktMS0xLTEtMzU3NDk_94472265-1b48-43b2-a5f0-9a88e8ea1ec4"
      unitRef="usd">2750000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktMy0xLTEtMzU3NDk_4acc8c2a-b1e8-4190-afd1-b576122d9da4"
      unitRef="usd">11205000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktMy0xLTEtMzU3NDk_c87a9c6d-fe1a-4b64-8c42-66eef88cd410"
      unitRef="usd">11205000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktNS0xLTEtMzU3NDk_2b9f213f-abe7-4d54-83c6-e011eb36666b"
      unitRef="usd">4497000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktNS0xLTEtMzU3NDk_d8a8e5cf-0b81-491f-ad87-995b53ec1e10"
      unitRef="usd">4497000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktNy0xLTEtMzU3NDk_bf4a2210-95f5-4721-85ea-42cee1c2a616"
      unitRef="usd">11452000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMTktNy0xLTEtMzU3NDk_c1715007-5673-4ead-a658-2ae9de7e8199"
      unitRef="usd">11452000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjAtMS0xLTEtMzQ2NDQ_6060b928-597d-4f85-8833-94cfd4d40ba5"
      unitRef="shares">8599000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjAtMy0xLTEtMzQ2NDQ_69b6ba6a-eee5-484d-a380-cc90d9ed747b"
      unitRef="shares">8215000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjAtNS0xLTEtMzQ0NTI_cef714b7-ad8d-4de7-ad35-e9d16725b6c5"
      unitRef="shares">8470000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjAtNy0xLTEtMzQ0NTI_4457f5c3-67f7-4325-9255-f3d5bfd265dc"
      unitRef="shares">8191000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjEtMS0xLTEtMzQ2NDQ_beba2934-f38a-4d1f-8a8d-36ff35993be5"
      unitRef="shares">9157000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjEtMy0xLTEtMzQ2NDQ_610da39c-75b3-4852-88ef-084404b6d435"
      unitRef="shares">9061000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjEtNS0xLTEtMzQ0NTI_8303997e-f471-4995-bc2a-da771fb55a4b"
      unitRef="shares">9033000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjEtNy0xLTEtMzQ0NTI_7c5982c6-3a9a-4449-846a-a94f38c2dcfc"
      unitRef="shares">9014000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjQtMS0xLTEtMzQ2NDQ_2e41f927-728b-49ff-a69f-981323a6e4d5"
      unitRef="usdPerShare">0.32</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjQtMy0xLTEtMzQ2NDQ_58d6874a-d1b5-404c-9d98-c2c1520dfb32"
      unitRef="usdPerShare">1.42</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjQtNS0xLTEtMzQ0NTI_60b56a28-f484-4680-9c11-152487fe9856"
      unitRef="usdPerShare">0.56</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjQtNy0xLTEtMzQ0NTI_ea730bcb-72de-41c5-81a3-2c6f68634cf4"
      unitRef="usdPerShare">1.47</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjUtMS0xLTEtMzQ2NDQ_f0850563-5f14-42b9-a4c5-2777f6f3d979"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjUtMy0xLTEtMzQ2NDQ_ebbaff8a-4ee9-41df-a4e6-246d2ec0db75"
      unitRef="usdPerShare">-0.05</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjUtNS0xLTEtMzQ0NTI_b5567161-acd3-4fcb-aa7f-585cad13e93a"
      unitRef="usdPerShare">-0.03</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjUtNy0xLTEtMzQ0NTI_e872d20e-01a4-4158-a284-3021d8dd9c1d"
      unitRef="usdPerShare">-0.07</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:EarningsPerShareBasic
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjYtMS0xLTEtMzQ2NDQ_e00d0683-b3ad-4fc4-8326-573721cce9d1"
      unitRef="usdPerShare">0.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjYtMy0xLTEtMzQ2NDQ_1b04e9fd-6e82-40a5-b6fc-a04dfef28f55"
      unitRef="usdPerShare">1.37</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjYtNS0xLTEtMzQ0NTI_08c341c7-29d8-4848-ac06-3c6bd6ea0f85"
      unitRef="usdPerShare">0.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjYtNy0xLTEtMzQ0NTI_6cb97b25-60a9-464b-b0a4-623db5c06745"
      unitRef="usdPerShare">1.40</us-gaap:EarningsPerShareBasic>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjgtMS0xLTEtMzQ2NDQ_b455cd41-3a1f-4517-bbb3-3558b3782f92"
      unitRef="usdPerShare">0.30</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjgtMy0xLTEtMzQ2NDQ_78114b4d-db22-4c59-9b95-83b3248998d0"
      unitRef="usdPerShare">1.29</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjgtNS0xLTEtMzQ0NTI_6df05e39-5906-414f-9184-edd303341f91"
      unitRef="usdPerShare">0.53</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjgtNy0xLTEtMzQ0NTI_a2367eee-55e4-4118-9836-3f225b2772b3"
      unitRef="usdPerShare">1.34</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjktMS0xLTEtMzQ2NDQ_01810715-e146-4e18-b56a-626b24951d88"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjktMy0xLTEtMzQ2NDQ_7494c9ea-77d1-4adf-86f9-40df8129f1bc"
      unitRef="usdPerShare">-0.05</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjktNS0xLTEtMzQ0NTI_8551f79b-b4b5-40d3-bf24-037b8721c9b1"
      unitRef="usdPerShare">-0.03</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMjktNy0xLTEtMzQ0NTI_fcbb8136-cd8d-42bd-acac-29c25c90312c"
      unitRef="usdPerShare">-0.07</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMzAtMS0xLTEtMzQ2NDQ_905d0ed8-24a4-42f1-b41d-8e904f6232b9"
      unitRef="usdPerShare">0.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMzAtMy0xLTEtMzQ2NDQ_0f52dcf6-da7f-4ae4-bbc3-f3284655f2c4"
      unitRef="usdPerShare">1.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMzAtNS0xLTEtMzQ0NTI_ae2a0245-c188-4e70-b91b-22d5051118e8"
      unitRef="usdPerShare">0.50</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8xOS9mcmFnOjRiYjM0YzkxMGIwNzQ0MGNhNWZkNGM2Mjk2MmEwZDJlL3RhYmxlOjJlZjUzYTAyZGFlYTQ4NmQ5YzMyYmY0NzIxOTI2YTFhL3RhYmxlcmFuZ2U6MmVmNTNhMDJkYWVhNDg2ZDljMzJiZjQ3MjE5MjZhMWFfMzAtNy0xLTEtMzQ0NTI_85d4b63f-7931-48b9-a79f-e08b0e999234"
      unitRef="usdPerShare">1.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:SharesIssued
      contextRef="idad6777a8bc740b5a4a5d1bc22dd1216_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC0xLTEtMS0zNDQ1Mg_c5ff6c7e-a1b4-4d32-ad96-015caf96baa4"
      unitRef="shares">3441000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="idad6777a8bc740b5a4a5d1bc22dd1216_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC0zLTEtMS0zNDQ1Mg_edbab9f2-fa00-4234-9be8-2bbb188b9aa7"
      unitRef="usd">6765000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="if3e0e500c016435889211c02199743a5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC01LTEtMS0zNDQ1Mg_6877200d-979c-41b9-8b4a-aaf12d35cabd"
      unitRef="shares">8102000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="if3e0e500c016435889211c02199743a5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC03LTEtMS0zNDQ1Mg_7108aa9f-9759-4f8f-a56f-791ae9e93d64"
      unitRef="usd">81000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i18356f14f9e04be1b58e4522af59b8b7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC05LTEtMS0zNDQ1Mg_8f2b3eda-3eae-4cea-b6d3-c91710b5aa29"
      unitRef="shares">220000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i18356f14f9e04be1b58e4522af59b8b7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC0xMS0xLTEtMzQ0NTI_22cbdbdb-13bf-43f1-bee3-937f46238cd6"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="icae20846b313472aa5688f4c86167dba_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC0xMy0xLTEtMzQ0NTI_1cb9153f-a9bf-4bff-bf0f-40d7608c26b1"
      unitRef="usd">200617000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i26052b62c9ab44ecb88d93ff31745d77_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC0xNS0xLTEtMzQ0NTI_ed1eba3d-99cf-42e6-8a59-56aded7f629a"
      unitRef="usd">-2662000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib267e593caac4569bf0d5fd43c7a60a1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC0xNy0xLTEtMzQ0NTI_c4a40b91-c6a8-49d8-9e5a-6be80741a6f8"
      unitRef="usd">-179507000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNC0xOS0xLTEtMzQ0NTI_6a3a2cf7-2bd7-48ce-8e9b-5f6f443f7e9c"
      unitRef="usd">25296000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i4220c3fde1b14accb9def481a5323849_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNS01LTEtMS0zNDQ1Mg_f25a640d-6d82-4888-bc65-d0079b67b517"
      unitRef="shares">130000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i4220c3fde1b14accb9def481a5323849_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNS03LTEtMS0zNDQ1Mg_0a18ece3-cc17-4522-8568-8139d9f595d6"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i49cfe9706d3145fbb1eb2e687ec0132f_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNS0xMy0xLTEtMzQ0NTI_0c9792bf-7218-422f-a2f3-a0d214b36e7c"
      unitRef="usd">-298000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i5f89d142ce2a42b983930e6e26bea70e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNS0xOS0xLTEtMzQ0NTI_1238a994-25b4-424b-b589-8191285b4ec9"
      unitRef="usd">-297000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i49cfe9706d3145fbb1eb2e687ec0132f_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNi0xMy0xLTEtMzQ0NTI_4eb6c8c7-e242-4603-9930-0dfa381f3fe5"
      unitRef="usd">142000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i5f89d142ce2a42b983930e6e26bea70e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNi0xOS0xLTEtMzQ0NTI_baf80131-048f-44f1-9c79-379b2eb8cbf7"
      unitRef="usd">142000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="i34a27f1e4df3466ea557dfff08a430b0_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNy0xNy0xLTEtMzQ0NTI_757917e7-4996-4539-8bd6-a481f8c141c9"
      unitRef="usd">1747000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i5f89d142ce2a42b983930e6e26bea70e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfNy0xOS0xLTEtMzQ0NTI_8677ddf1-0086-4152-b869-afdd6428fbc0"
      unitRef="usd">1747000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="i30c3ea7195d04fbd9d10a08e5486bf5e_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC0xLTEtMS0zNDQ1Mg_366f94b6-2461-4d4b-a915-040e5c604f70"
      unitRef="shares">3441000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i30c3ea7195d04fbd9d10a08e5486bf5e_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC0zLTEtMS0zNDQ1Mg_f903dd85-dc13-402b-b80a-8d1b7e0b0434"
      unitRef="usd">6765000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="ibddbc64b14ed4f7fad5ef8da20acb65c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC01LTEtMS0zNDQ1Mg_1ec7d8c2-0d99-4d9b-a1f5-fefcfa566872"
      unitRef="shares">8232000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ibddbc64b14ed4f7fad5ef8da20acb65c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC03LTEtMS0zNDQ1Mg_3bc6a852-6e89-4a00-8fc9-ff55119b88f5"
      unitRef="usd">82000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="id03d9d23fd7f4023a261e48af6003abb_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC05LTEtMS0zNDQ1Mg_c280cf7b-a205-4960-937e-dfe08e525d1f"
      unitRef="shares">220000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="id03d9d23fd7f4023a261e48af6003abb_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC0xMS0xLTEtMzQ0NTI_46dc5787-dd0c-43a0-a021-71bf1219a925"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4fc7191eaf8a41cfaa23a604481acc9d_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC0xMy0xLTEtMzQ0NTI_37cccfad-b634-42c5-b9a3-b6b808a99054"
      unitRef="usd">200461000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic55078300ba04c4db0b0c4743cb94b3a_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC0xNS0xLTEtMzQ0NTI_13fd625a-8d14-40dd-9b4e-6a9bd6738859"
      unitRef="usd">-2662000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i052f2336e70740bf9d3e06cbb8ff1eb2_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC0xNy0xLTEtMzQ0NTI_c95d1386-c2ae-4511-89d5-f612dc2476ff"
      unitRef="usd">-177760000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9d6c5616ffa14017a56cb92b7788441f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOC0xOS0xLTEtMzQ0NTI_7dd0328c-010b-4a5f-abe0-cdd40cd778e6"
      unitRef="usd">26888000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="ie17bf09a55224ebb9c53d117e7b6c13a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOS01LTEtMS0zNDY4Mw_60b60ee2-b598-4a4a-97e7-6d29e4fc78ff"
      unitRef="shares">66000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ie17bf09a55224ebb9c53d117e7b6c13a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOS03LTEtMS0zNDY4Mw_ea125b4f-5b18-4ff9-9bc5-a30424111fb0"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i7ac9a0cff3e74241b2f0ba709e7a87cd_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOS0xMy0xLTEtMzQ2ODM_f9259f07-ebaa-4126-911c-a49b2cef4f4f"
      unitRef="usd">-191000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfOS0xOS0xLTEtMzQ2ODM_46c22b0e-07aa-4532-9084-c0b48bf2589b"
      unitRef="usd">-190000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="i1f2de36d90a44556b1dd9ef8f26780c9_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtMS0xLTEtMzczNzQ_edddbb97-f69a-4ac0-9340-472396f649ab"
      unitRef="shares">3441000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="i1f2de36d90a44556b1dd9ef8f26780c9_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtMy0xLTEtMzczNzQ_5d017029-7164-420c-9f2d-2704c1086586"
      unitRef="usd">6765000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="ie17bf09a55224ebb9c53d117e7b6c13a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtNS0xLTEtMzczNzQ_d9e59ecf-afa0-4706-b3e2-9833aab7b35e"
      unitRef="shares">-1000000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="ie17bf09a55224ebb9c53d117e7b6c13a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtNy0xLTEtMzczNzQ_e8c39390-91b4-45c2-8b40-e31462ef45f6"
      unitRef="usd">-10000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="i7ac9a0cff3e74241b2f0ba709e7a87cd_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtMTMtMS0xLTM3Mzc0_8fc8e71a-9294-45f6-a5ab-d645ac0dae08"
      unitRef="usd">-708000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="icea553c844da4979bcb7736bf5839923_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtMTctMS0xLTM3Mzc0_e3bcc339-daa0-42e9-8b2a-0afd7cdbd174"
      unitRef="usd">-2046000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtMTktMS0xLTM3Mzc0_a9c88c3a-6706-4f3a-8015-fa60a7356a80"
      unitRef="usd">4001000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i7ac9a0cff3e74241b2f0ba709e7a87cd_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtMTMtMS0xLTM0Njgz_8b35c8d1-556a-4ef2-8995-37677ecd0024"
      unitRef="usd">220000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTAtMTktMS0xLTM0Njgz_41cf4171-27c7-48c3-9846-fe309e1b33ed"
      unitRef="usd">220000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="icea553c844da4979bcb7736bf5839923_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTEtMTctMS0xLTM0Njgz_b82e36a0-4662-41d0-9f23-72886c4390f0"
      unitRef="usd">704000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTEtMTktMS0xLTM0Njgz_7e476df3-d8c1-4f05-b174-33cfb7d1f9bd"
      unitRef="usd">704000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="i811361bcdc8648a8952681b0c9956be0_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItMS0xLTEtMzQ2ODM_b73c2039-030b-4f70-b520-5a431f6620e5"
      unitRef="shares">0</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i811361bcdc8648a8952681b0c9956be0_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItMy0xLTEtMzQ2ODM_5db4068a-796c-43e5-b1df-ce424725b578"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i7960fba450244e86b8914ddd6801348e_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItNS0xLTEtMzQ2ODM_e359024f-3378-4adc-8a48-9bba160430a4"
      unitRef="shares">9298000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i7960fba450244e86b8914ddd6801348e_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItNy0xLTEtMzQ2ODM_32f17efe-fee3-44b9-9a60-dda0958be524"
      unitRef="usd">93000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="icff0bb1d75e1446f979a2b90247a1964_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItOS0xLTEtMzQ2ODM_664243ff-eda4-4f6d-8b59-e6d5ae2dcf57"
      unitRef="shares">220000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="icff0bb1d75e1446f979a2b90247a1964_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItMTEtMS0xLTM0Njgz_d752e02a-9285-4d1a-ac9d-038b888a9b8b"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i67ba90cfb75f4a61b49c6f497e86100e_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItMTMtMS0xLTM0Njgz_6159c503-5841-4b46-bfc6-cae2f759700d"
      unitRef="usd">201198000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia70f39f774f240cd8abbc73f266ae80f_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItMTUtMS0xLTM0Njgz_de3058bd-6abe-4321-8e73-46060ffb66b6"
      unitRef="usd">-2662000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ideef98e9648149f9a043477da65192d2_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItMTctMS0xLTM0Njgz_2a8390a7-44cf-402a-80c4-16e41fd82c62"
      unitRef="usd">-175010000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTItMTktMS0xLTM0Njgz_05bc2050-34aa-4dc7-8806-15e44aafe9fd"
      unitRef="usd">23621000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i4cf34b3bf0b246a980c3853b06b3364c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtMS0xLTEtMzQ0NTI_00285903-da6f-4426-8a9f-b05b03a1be09"
      unitRef="shares">3441000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i4cf34b3bf0b246a980c3853b06b3364c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtMy0xLTEtMzQ0NTI_4fc5295e-d285-4c80-babc-b3b3058276ed"
      unitRef="usd">6765000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="ifee2e83713794a89975b2c821b003849_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtNS0xLTEtMzQ0NTI_592104f1-d72f-4c5b-b3cc-bf1356ce6d2a"
      unitRef="shares">7953000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ifee2e83713794a89975b2c821b003849_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtNy0xLTEtMzQ0NTI_7a559bf7-7bf4-4973-9e99-e3a418b442ed"
      unitRef="usd">79000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i6ce6fec44dcb4b92b6a059194a09c1b0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtOS0xLTEtMzQ0NTI_854622d1-1215-40ff-b183-0fd8ab0c95bf"
      unitRef="shares">220000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i6ce6fec44dcb4b92b6a059194a09c1b0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtMTEtMS0xLTM0NDUy_203b599d-690a-4f22-8b22-a9d657e14824"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic42b47554a264ca08f333cb0604786ff_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtMTMtMS0xLTM0NDUy_2e94bab1-998f-49f7-8a21-99ba393a6cc0"
      unitRef="usd">200147000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9abf0d18dba94cb8a32efd6dcf100a38_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtMTUtMS0xLTM0NDUy_0185a19e-ec0a-44e7-a9ce-5761be8869a7"
      unitRef="usd">-2662000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i90878f2b0fbe4ff48f308a94c09bb1f8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtMTctMS0xLTM0NDUy_702fc1f4-9727-40e1-9a58-465d2979eb4f"
      unitRef="usd">-193116000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4a4e053bdcb745569f77b4c49f446be9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTUtMTktMS0xLTM0NDUy_cc6cb21c-259e-4f47-8a39-811553aeea4b"
      unitRef="usd">11215000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i99c63ff135094e5f8917a8d1fe4be05d_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTYtNS0xLTEtMzQ0NTI_e586a12b-2615-4fc6-8fed-c73d379ed35f"
      unitRef="shares">105000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i99c63ff135094e5f8917a8d1fe4be05d_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTYtNy0xLTEtMzQ0NTI_f7d10855-def9-4c1f-966b-f4926fda01b1"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="idcc6277b582c44318304699c2056d348_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTYtMTMtMS0xLTM0NDUy_aa36fb4e-5b5a-4a41-a14b-a680a2888b71"
      unitRef="usd">-189000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ifc96a3205eef45bb93d562456c255673_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTYtMTktMS0xLTM0NDUy_56ca1b08-3085-439d-a070-8eaa717303db"
      unitRef="usd">-187000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="idcc6277b582c44318304699c2056d348_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTctMTMtMS0xLTM0NDUy_3f468e6c-20cc-415a-a9eb-f1d8b37bc982"
      unitRef="usd">183000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ifc96a3205eef45bb93d562456c255673_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTctMTktMS0xLTM0NDUy_2b61b56b-bf0b-4ee8-b2ff-963b2e518486"
      unitRef="usd">183000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="i4ca934e0bd874c1ea9f6234aa8f31662_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTgtMTctMS0xLTM0Njgz_67bd811e-b443-4184-b889-c2ac4c1c1333"
      unitRef="usd">247000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ifc96a3205eef45bb93d562456c255673_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTgtMTktMS0xLTM0Njgz_7a747b76-c3bc-4bd2-b89d-6a288d5f4b5b"
      unitRef="usd">247000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="i97528c8005b340df80ded4f23f3b03f9_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktMS0xLTEtMzQ2ODM_65f8f811-4f33-4d1b-a673-08bbcb0feb7f"
      unitRef="shares">3441000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i97528c8005b340df80ded4f23f3b03f9_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktMy0xLTEtMzQ2ODM_15f98f36-e89e-488c-ada8-910c3906f8bb"
      unitRef="usd">6765000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="id6a14662205f478aa7f6610450ee4844_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktNS0xLTEtMzQ2ODM_b99c2503-82ae-4db3-9978-c883e7b0da4a"
      unitRef="shares">8058000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="id6a14662205f478aa7f6610450ee4844_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktNy0xLTEtMzQ2ODM_71861c3f-0811-4448-9109-918eaab6944c"
      unitRef="usd">81000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i878d7cf9454642debd901383270a438d_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktOS0xLTEtMzQ2ODM_8047b87d-ae38-48fb-ae73-f8681977e4de"
      unitRef="shares">220000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i878d7cf9454642debd901383270a438d_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktMTEtMS0xLTM0Njgz_48456dae-7bf1-46b5-ba81-6a0936e27d24"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia98df214966f443191d40c12da6499f7_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktMTMtMS0xLTM0Njgz_70a8ebb6-776e-40aa-a12b-a0cf86d5338d"
      unitRef="usd">200141000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i904a0394d0dc4182abeb9c74a9af4b83_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktMTUtMS0xLTM0Njgz_3b9e2d45-e0d8-48c7-8feb-f6168864ca44"
      unitRef="usd">-2662000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9aff3842824b4766a43755d06a299afc_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktMTctMS0xLTM0Njgz_7d86daa8-0751-4a2f-ad42-2b5f64e6e3d1"
      unitRef="usd">-192869000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i01ce88c57d2547f48ff420a751e12025_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMTktMTktMS0xLTM0Njgz_f0d606d8-b728-44d7-926f-acf0aba29d43"
      unitRef="usd">11458000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="iff6f0ab694cd42cdb52d13b67f913987_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjAtNS0xLTEtMzQ2ODM_e47c7155-2a1f-47be-8c93-eaede8c025b9"
      unitRef="shares">36000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i6f836bb316f643f98a0cb5012c1bf16d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjAtMTMtMS0xLTM0Njgz_05f77e16-7657-459d-bf34-e029602970f1"
      unitRef="usd">-59000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjAtMTktMS0xLTM0Njgz_eea42380-8692-4edd-91ac-06ecd0b889d4"
      unitRef="usd">-59000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i6f836bb316f643f98a0cb5012c1bf16d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjEtMTMtMS0xLTM0Njgz_5825972e-0deb-440d-8455-f03bc6dbd2af"
      unitRef="usd">180000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjEtMTktMS0xLTM0Njgz_3138ca54-acc1-4345-9b60-47523c3e9da5"
      unitRef="usd">180000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="i08536ebb72304f11825a37ea8dc7e8c5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjItMTctMS0xLTM0Njgz_7de84a26-0bb4-457b-b40a-20a6dd048249"
      unitRef="usd">11205000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjItMTktMS0xLTM0Njgz_8e921a51-c138-406e-96fc-1c3efd9ace71"
      unitRef="usd">11205000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="i7504ec906e7b4dd89c3e299f48a0da69_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtMS0xLTEtMzQ2ODM_63fac3d5-2137-45b5-8b56-2ecd7eeade96"
      unitRef="shares">3441000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i7504ec906e7b4dd89c3e299f48a0da69_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtMy0xLTEtMzQ2ODM_cad9704f-401c-4846-8d23-4900922649da"
      unitRef="usd">6765000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="id0a86bdfa96542918a85d929319a9d16_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtNS0xLTEtMzQ2ODM_25b2fc18-4934-4bbd-ae1f-fc3311b548b7"
      unitRef="shares">8094000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="id0a86bdfa96542918a85d929319a9d16_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtNy0xLTEtMzQ2ODM_8a96108b-07aa-4e85-ae65-ddca39729564"
      unitRef="usd">81000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="ia7d15e642e8e4ae6b04607945f5deac5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtOS0xLTEtMzQ2ODM_f9e47a1e-27f3-403f-a0b0-1cc6d37bb5f9"
      unitRef="shares">220000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ia7d15e642e8e4ae6b04607945f5deac5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtMTEtMS0xLTM0Njgz_91e7ba04-5c87-4fb3-af3e-78047b363dee"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i32c34edfba57462d9616bef2a3dd867f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtMTMtMS0xLTM0Njgz_980a5f9f-29b5-4356-87c7-93777a7debc1"
      unitRef="usd">200262000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id40fc239026146e48cae2b251dde40b1_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtMTUtMS0xLTM0Njgz_6a90ead0-3b86-462a-b49a-9424c1874b4a"
      unitRef="usd">-2662000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id8c2c8c5344441e698355468282d229d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtMTctMS0xLTM0Njgz_79a3abe0-83e9-43e2-b199-61213e700510"
      unitRef="usd">-181664000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i673b3c49ecf445828ec73a047e83859d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yMi9mcmFnOjdjMWY1MmJkYTVhZTQzMjY5NzE4Yzg0NDRhZjg1MGM1L3RhYmxlOjZjNjkyNDU4YmYwODQ5ZWZhMTA2NTk5Mjk4ZWVmM2MwL3RhYmxlcmFuZ2U6NmM2OTI0NThiZjA4NDllZmExMDY1OTkyOThlZWYzYzBfMjMtMTktMS0xLTM0Njgz_1feb80b2-c690-4e2d-8bfa-fe19ddae8161"
      unitRef="usd">22784000</us-gaap:StockholdersEquity>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMy0xLTEtMS0zNDQ1Mg_0d67b334-7f06-4a29-bd04-f06ae3554673"
      unitRef="usd">2728000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMy0zLTEtMS0zNDQ1Mg_489841eb-642b-41af-863c-c133083ab4b9"
      unitRef="usd">12039000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNS0xLTEtMS0zNDQ1Mg_d4cd8103-31ad-4aef-902b-06ea4d6fab23"
      unitRef="usd">94000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNS0zLTEtMS0zNDQ1Mg_5a0f58ca-f8c2-4c1b-8746-eaeaa63da00e"
      unitRef="usd">42000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNi0xLTEtMS0zNDQ1Mg_2e5b03fe-5af0-4a06-aaac-6429d9410682"
      unitRef="usd">417000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNi0zLTEtMS0zNDQ1Mg_0923409b-17c2-4e49-9175-8703a0f776aa"
      unitRef="usd">306000</us-gaap:ShareBasedCompensation>
    <chci:GainLossOnEquityMethodInvestmentsCarriedAtFairValue
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNy0xLTEtMS0zNDQ1Mg_cf4e7ce8-6abe-4f2d-919d-f6e44611c958"
      unitRef="usd">269000</chci:GainLossOnEquityMethodInvestmentsCarriedAtFairValue>
    <chci:GainLossOnEquityMethodInvestmentsCarriedAtFairValue
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNy0zLTEtMS0zNDQ1Mg_fde8c3fd-ff5f-4591-b1b3-125e05e5c78e"
      unitRef="usd">-94000</chci:GainLossOnEquityMethodInvestmentsCarriedAtFairValue>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfOS0xLTEtMS0zNDQ1Mg_e0f465ee-773c-42c0-8e0f-f8e66ae7b97c"
      unitRef="usd">-104000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfOS0zLTEtMS0zNDQ1Mg_3f7a9c50-0f07-4643-a0e8-b678e0975fc8"
      unitRef="usd">-11310000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTEtMS0xLTEtMzQ0NTI_b649c371-368e-4a1d-b72c-f4447fcd06f6"
      unitRef="usd">1896000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTEtMy0xLTEtMzQ0NTI_6d8b945d-0829-469f-a702-a7adc832e9cd"
      unitRef="usd">-566000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTItMS0xLTEtMzQ0NTI_9d0a4238-3a09-4148-8645-9098c7d86138"
      unitRef="usd">295000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTItMy0xLTEtMzQ0NTI_b26fd9c8-96d0-43eb-93a6-52461d5c8bbf"
      unitRef="usd">32000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTMtMS0xLTEtMzQ0NTI_acdbdcb9-a966-482b-8a8e-30a6b6ff4b6f"
      unitRef="usd">-1262000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTMtMy0xLTEtMzQ0NTI_38e9b8ff-9313-4ade-8d19-01cffbabc7b0"
      unitRef="usd">-759000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTQtMS0xLTEtMzQ0NTI_87875b38-f779-495a-870c-97fc5fafcaaf"
      unitRef="usd">-133000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTQtMy0xLTEtMzQ0NTI_d78f3f2a-c63f-4ac8-bd6d-46f1f44ae6ee"
      unitRef="usd">-175000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTUtMS0xLTEtMzQ0NTI_1bc12560-6b60-4b7a-a2d4-9be75cf3a067"
      unitRef="usd">-130000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTUtMy0xLTEtMzQ0NTI_7eef3d6d-1a5d-4129-83c5-83657c89cdd2"
      unitRef="usd">-51000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTYtMS0xLTEtMzQ0NTI_fa58cb0b-0f98-4ae2-af75-c94566a424f5"
      unitRef="usd">-590000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTYtMy0xLTEtMzQ0NTI_d29b8c99-d791-4a9a-a98d-8f4546b2b8e0"
      unitRef="usd">822000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTktMS0xLTEtMzQ0NTI_14f53d5f-9d94-4b04-93d4-6c79acb8d404"
      unitRef="usd">2684000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMTktMy0xLTEtMzQ0NTI_ce4452eb-17e0-4e0d-81d6-e8176379de95"
      unitRef="usd">0</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjAtMS0xLTEtMzQ0NTI_72d236cb-c284-4be1-84b3-252f84dfeab4"
      unitRef="usd">1016000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjAtMy0xLTEtMzQ0NTI_39720567-a779-4dcf-bdf7-e5fce3127906"
      unitRef="usd">0</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjEtMS0xLTEtMzQ0NTI_01212d9c-992b-4643-b5eb-88223da4f55c"
      unitRef="usd">88000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjEtMy0xLTEtMzQ0NTI_943031bd-f048-4f1c-baae-793bb1327072"
      unitRef="usd">2543000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:PaymentsForProceedsFromProductiveAssets
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjItMS0xLTEtMzQ0NTI_6f23c278-4aab-43f5-b2d5-d78ef962cb42"
      unitRef="usd">487000</us-gaap:PaymentsForProceedsFromProductiveAssets>
    <us-gaap:PaymentsForProceedsFromProductiveAssets
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjItMy0xLTEtMzQ0NTI_242aaaaf-1b88-4f16-a331-6cb33f70f5d9"
      unitRef="usd">60000</us-gaap:PaymentsForProceedsFromProductiveAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjMtMS0xLTEtMzQ0NTI_c2560948-a5ca-4d75-9351-2e2e9877f91b"
      unitRef="usd">-2067000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjMtMy0xLTEtMzQ0NTI_ecc1f5c3-16fd-45da-8ce5-cfbbea0f3ad9"
      unitRef="usd">2483000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjYtMS0xLTEtMzQ0NTI_4b4b5ade-c4ce-4873-815e-7bc34b8a61ac"
      unitRef="usd">0</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjYtMy0xLTEtMzQ0NTI_4e4bde6f-c1e1-4905-a76b-6b362c19c400"
      unitRef="usd">120000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjctMS0xLTEtMzQ0NTI_486e7f82-e148-4a98-b2b5-119c435abe90"
      unitRef="usd">0</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjctMy0xLTEtMzQ0NTI_97cc0a00-56f1-44e8-8ef4-0b02a59805e9"
      unitRef="usd">77000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjgtMS0xLTEtMzY2Mzk_6eaae500-2784-40b6-b387-f6e0438bced9"
      unitRef="usd">4000000</us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock>
    <us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjgtMy0xLTEtMzY2Mzk_30d0eed1-1f71-4cde-b290-7b83b5e7a446"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjgtMS0xLTEtMzQ0NTI_d8c0c888-5f19-4328-97e9-11b82dc4f093"
      unitRef="usd">488000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjgtMy0xLTEtMzQ0NTI_54ca1f21-3a24-45e1-8489-cba23de246e4"
      unitRef="usd">211000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjktMS0xLTEtMzQ0NTI_e4e23d7b-19f6-4ec0-9b39-0992c307056d"
      unitRef="usd">-4488000</us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMjktMy0xLTEtMzQ0NTI_f956cd43-5727-4ca6-afbd-132177c3e8bb"
      unitRef="usd">-168000</us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzItMS0xLTEtMzQ0NTI_1f3d67d9-2d79-437e-858b-21c3146f4ff2"
      unitRef="usd">-224000</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzItMy0xLTEtMzQ0NTI_2adadb6e-1155-4978-89fa-aeb7c466628b"
      unitRef="usd">92000</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzMtMS0xLTEtMzQ0NTI_8c3a4a7a-63c0-4520-80f5-ae8d994e3167"
      unitRef="usd">0</us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzMtMy0xLTEtMzQ0NTI_9c51bae1-f278-4116-8dea-50920dfb75e9"
      unitRef="usd">-36000</us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInFinancingActivitiesDiscontinuedOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzQtMS0xLTEtMzQ0NTI_7512cfc2-742e-4619-ab28-534e26dae26a"
      unitRef="usd">-27000</us-gaap:CashProvidedByUsedInFinancingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInFinancingActivitiesDiscontinuedOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzQtMy0xLTEtMzQ0NTI_e375f6b3-38a7-41e9-84c5-620ff8ad9a19"
      unitRef="usd">-20000</us-gaap:CashProvidedByUsedInFinancingActivitiesDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInDiscontinuedOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzUtMS0xLTEtMzQ0NTI_72c768cf-1dac-4d61-8731-9f510314111c"
      unitRef="usd">-251000</us-gaap:NetCashProvidedByUsedInDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInDiscontinuedOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzUtMy0xLTEtMzQ0NTI_9e8cc43e-7121-4a72-852b-8960ab12ddfc"
      unitRef="usd">36000</us-gaap:NetCashProvidedByUsedInDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzctMS0xLTEtMzQ0NTI_fa3606dc-731e-410f-a827-c4ed0b72054e"
      unitRef="usd">-7396000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzctMy0xLTEtMzQ0NTI_17ea4cc7-7209-467a-989b-cd49841d4cc5"
      unitRef="usd">3173000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzgtMS0xLTEtMzQ0NTI_635e6b58-d974-4891-b3b5-758c4d7c84a7"
      unitRef="usd">15823000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i4a4e053bdcb745569f77b4c49f446be9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzgtMy0xLTEtMzQ0NTI_42313dae-36b3-4a44-b63d-a6ed3dbd6bf3"
      unitRef="usd">7032000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzktMS0xLTEtMzQ0NTI_b382f64f-a9f8-4b93-93bd-8ae89aec6f38"
      unitRef="usd">8427000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i673b3c49ecf445828ec73a047e83859d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfMzktMy0xLTEtMzQ0NTI_7dc653d5-3fe2-477c-b620-13deb3f4ea56"
      unitRef="usd">10205000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDItMS0xLTEtMzQ0NTI_79fe5ca0-5acd-490f-ade0-a83a6a11b81d"
      unitRef="usd">128000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDItMy0xLTEtMzQ0NTI_8c718efe-4979-4d9d-a940-827089e80520"
      unitRef="usd">116000</us-gaap:InterestPaidNet>
    <us-gaap:StockIssued1
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDUtMS0xLTEtMzQ0NTI_dc0e76e4-c44c-4a44-87ce-7c2b7ff91cda"
      unitRef="usd">4230000</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDUtMy0xLTEtMzQ0NTI_34dcbb97-2e20-4aca-9f40-b3916ba51046"
      unitRef="usd">0</us-gaap:StockIssued1>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDYtMS0xLTEtMzQ0NTI_79d07069-28f0-4360-8f09-3c753f44e04e"
      unitRef="usd">209000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDYtMy0xLTEtMzQ0NTI_78abd59e-79fe-46a4-84e7-0cb1b928980e"
      unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <chci:PPPLoanForgiven
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDgtMS0xLTEtMzk0NjU_4569dbc6-73f4-430d-96e2-a28443f0a55e"
      unitRef="usd">0</chci:PPPLoanForgiven>
    <chci:PPPLoanForgiven
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDgtMy0xLTEtMzk0NjU_361ad691-24fd-47de-a4b0-9aaa41a79cf0"
      unitRef="usd">1954000</chci:PPPLoanForgiven>
    <chci:IssuanceOfCommonStockAccruedLiabilitySettled
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDgtMS0xLTEtMzg5MzM_d66b8dce-82cc-4cb5-bbec-31454d37da29"
      unitRef="usd">0</chci:IssuanceOfCommonStockAccruedLiabilitySettled>
    <chci:IssuanceOfCommonStockAccruedLiabilitySettled
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8yNS9mcmFnOjIyMWU0YmE4ZGU4MTQ4N2I4NzlmYWM5MGVhYmI5MThiL3RhYmxlOmRjNmNlMmNmOGY2NTQyZjQ4MTAzZmFjZWEwNTA5MGFmL3RhYmxlcmFuZ2U6ZGM2Y2UyY2Y4ZjY1NDJmNDgxMDNmYWNlYTA1MDkwYWZfNDgtMy0xLTEtMzg5MzM_50050819-d162-4a9e-a0f8-625cf0fd14ed"
      unitRef="usd">14000</chci:IssuanceOfCommonStockAccruedLiabilitySettled>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zMS9mcmFnOjYwY2JkZTRjNDBlZDQxYzNhZDI5NDhjNzAzYWZiNTUyL3RleHRyZWdpb246NjBjYmRlNGM0MGVkNDFjM2FkMjk0OGM3MDNhZmI1NTJfMTE5Mg_fc463c0c-ec5f-4d03-bf49-3664e31a6f52">Company Overview&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Comstock Holding Companies, Inc. ("Comstock" or the "Company"), founded in 1985 and incorporated in the state of Delaware in 2004, is a leading developer and manager of mixed-use and transit-oriented properties in the Washington, D.C. metropolitan area. As a vertically integrated and multi-faceted asset management and real estate services company, Comstock has designed, developed, constructed, acquired, and managed thousands of residential units and millions of square feet of commercial and mixed-use properties.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 31, 2022, the Company completed the sale of its wholly-owned subsidiary &lt;/span&gt;&lt;span style="color:#222222;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Comstock Environmental Services, LLC ("CES") &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;to August Mack Environmental, Inc. ("August Mack") for approximately $1.4 million of total consideration, composed of $1.0 million in cash and $0.4 million held in escrow that is subject to net working capital and other adjustments, as set forth in the executed Asset Purchase Agreement with August Mack. For additional information, see Note 3.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 13, 2022, the Company completed two separate significant transactions: the first one with CP Real Estate Services, LC (&#x201c;CPRES&#x201d;), an entity owned by Christopher Clemente, Comstock&#x2019;s Chief Executive Officer, to redeem all outstanding Series C preferred stock at a discount to carrying value; and the second, the execution of a new asset management agreement with Comstock Partners, LC ("CP"), an entity that is controlled and wholly-owned by Mr. Clemente and certain family members, thereby replacing the previous asset management agreement with CPRES. For additional information, see Notes 10 and 14, respectively.  &lt;/span&gt;&lt;/div&gt;The Company operates through four primarily real estate-focused subsidiaries &#x2013; CHCI Asset Management, LC (&#x201c;CAM&#x201d;); CHCI Residential Management, LC; CHCI Commercial Management, LC; and Park X Management, LC.</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i00467cf3549b458185b1e593957ac615_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zMS9mcmFnOjYwY2JkZTRjNDBlZDQxYzNhZDI5NDhjNzAzYWZiNTUyL3RleHRyZWdpb246NjBjYmRlNGM0MGVkNDFjM2FkMjk0OGM3MDNhZmI1NTJfNzM5_b9e3b5d0-b82f-4d9b-bac9-60b91d7a4092"
      unitRef="usd">1400000</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i7eff7bad456f432488b51e1279bc31b9_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zMS9mcmFnOjYwY2JkZTRjNDBlZDQxYzNhZDI5NDhjNzAzYWZiNTUyL3RleHRyZWdpb246NjBjYmRlNGM0MGVkNDFjM2FkMjk0OGM3MDNhZmI1NTJfNzc4_95dacf2e-f28b-41c8-aded-ee4f63e3c34a"
      unitRef="usd">1000000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <chci:EscrowDepositFromDivestitureOfBusiness
      contextRef="i00467cf3549b458185b1e593957ac615_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zMS9mcmFnOjYwY2JkZTRjNDBlZDQxYzNhZDI5NDhjNzAzYWZiNTUyL3RleHRyZWdpb246NjBjYmRlNGM0MGVkNDFjM2FkMjk0OGM3MDNhZmI1NTJfNzkz_133a3102-ea28-448f-a402-eed7abea167b"
      unitRef="usd">400000</chci:EscrowDepositFromDivestitureOfBusiness>
    <chci:NumberOfSubsidiaries
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zMS9mcmFnOjYwY2JkZTRjNDBlZDQxYzNhZDI5NDhjNzAzYWZiNTUyL3RleHRyZWdpb246NjBjYmRlNGM0MGVkNDFjM2FkMjk0OGM3MDNhZmI1NTJfMTA5OTUxMTYzMDI1Ng_97c4ebcb-a668-47cf-a8e3-7d52cee58020"
      unitRef="subsidiary">4</chci:NumberOfSubsidiaries>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNC9mcmFnOjQ5NjZiYzM4NTQxMTRmMzViMDU0MGY4NDkzYWYzYzhlL3RleHRyZWdpb246NDk2NmJjMzg1NDExNGYzNWIwNTQwZjg0OTNhZjNjOGVfMzE1MQ_c331e5e8-18a2-4e8e-bf83-84958e5f0edf">Summary of Significant Accounting Policies&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (&#x201c;GAAP&#x201d;) for interim financial information and the requirements of the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;). As permitted, certain information and footnote disclosures have been condensed or omitted. Intercompany balances and transactions have been eliminated and certain prior period amounts have been reclassified to conform to current period presentation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In management&#x2019;s opinion, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#x2019;s financial position and operating results. The results of operations presented in these interim condensed consolidated financial statements are unaudited and are not necessarily indicative of the results to be expected for the full fiscal year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;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;These interim condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in the Company&#x2019;s fiscal year 2021 Annual Report on Form 10-K for the year ended December 31, 2021 (the &#x201c;2021 Annual Report&#x201d;) filed with the SEC on March 31, 2022. The consolidated balance sheet as of December 31, 2021 was derived from the audited financial statements contained in the 2021 Annual Report.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has reflected CES as a discontinued operation in its consolidated statements of operations for all periods presented. Unless otherwise noted, all amounts and disclosures throughout these Notes to Consolidated Financial Statements relate to the Company's continuing operations. For additional information, see Note 3.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts in the financial statements and accompanying notes. Significant items subject to such estimates, include, but are not limited to, the valuation of equity method investments and the valuation of deferred tax assets. Assumptions made in the development of these estimates contemplate the macroeconomic landscape and the Company's anticipated results, however actual results may differ materially from these estimates. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements - Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&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;None.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements - Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments&#x2014;Credit Losses: Measurement of Credit Losses on Financial Instruments&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;.&#x201d; This guidance is intended to introduce a revised approach to the recognition and measurement of credit losses, emphasizing an updated model based on current expected credit losses ("CECL") rather than incurred losses. The standard will become effective for the Company for financial statement periods beginning after December 15, 2022, and early adoption is permitted. The Company is currently evaluating the impact this guidance will have on its financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNC9mcmFnOjQ5NjZiYzM4NTQxMTRmMzViMDU0MGY4NDkzYWYzYzhlL3RleHRyZWdpb246NDk2NmJjMzg1NDExNGYzNWIwNTQwZjg0OTNhZjNjOGVfMzE1Mg_e0d24885-7f5f-4113-852d-280f1e738014">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (&#x201c;GAAP&#x201d;) for interim financial information and the requirements of the U.S. Securities and Exchange Commission (the &#x201c;SEC&#x201d;). As permitted, certain information and footnote disclosures have been condensed or omitted. Intercompany balances and transactions have been eliminated and certain prior period amounts have been reclassified to conform to current period presentation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In management&#x2019;s opinion, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#x2019;s financial position and operating results. The results of operations presented in these interim condensed consolidated financial statements are unaudited and are not necessarily indicative of the results to be expected for the full fiscal year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;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;These interim condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in the Company&#x2019;s fiscal year 2021 Annual Report on Form 10-K for the year ended December 31, 2021 (the &#x201c;2021 Annual Report&#x201d;) filed with the SEC on March 31, 2022. The consolidated balance sheet as of December 31, 2021 was derived from the audited financial statements contained in the 2021 Annual Report.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has reflected CES as a discontinued operation in its consolidated statements of operations for all periods presented. Unless otherwise noted, all amounts and disclosures throughout these Notes to Consolidated Financial Statements relate to the Company's continuing operations. For additional information, see Note 3.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNC9mcmFnOjQ5NjZiYzM4NTQxMTRmMzViMDU0MGY4NDkzYWYzYzhlL3RleHRyZWdpb246NDk2NmJjMzg1NDExNGYzNWIwNTQwZjg0OTNhZjNjOGVfMzE0OQ_31c43a98-67ff-402d-b867-303486a75eb0">Use of EstimatesThe preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts in the financial statements and accompanying notes. Significant items subject to such estimates, include, but are not limited to, the valuation of equity method investments and the valuation of deferred tax assets. Assumptions made in the development of these estimates contemplate the macroeconomic landscape and the Company's anticipated results, however actual results may differ materially from these estimates.</us-gaap:UseOfEstimates>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNC9mcmFnOjQ5NjZiYzM4NTQxMTRmMzViMDU0MGY4NDkzYWYzYzhlL3RleHRyZWdpb246NDk2NmJjMzg1NDExNGYzNWIwNTQwZjg0OTNhZjNjOGVfMzE1MA_6a4169a4-24f8-4528-887c-b8e932cc8689">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements - Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&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;None.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements - Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments&#x2014;Credit Losses: Measurement of Credit Losses on Financial Instruments&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;.&#x201d; This guidance is intended to introduce a revised approach to the recognition and measurement of credit losses, emphasizing an updated model based on current expected credit losses ("CECL") rather than incurred losses. The standard will become effective for the Company for financial statement periods beginning after December 15, 2022, and early adoption is permitted. The Company is currently evaluating the impact this guidance will have on its financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RleHRyZWdpb246ZDllMzBiMGZhMGRkNDY5NDk4YzVjNmJiY2YwOTdlODdfMTU3MA_0e1341da-1b63-442b-b6dd-094d585dfc31">Discontinued Operations&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 31, 2022, the Company completed the sale of its wholly-owned subsidiary &lt;/span&gt;&lt;span style="color:#222222;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;CES &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;to August Mack in accordance with the Asset Purchase Agreement for approximately $1.4 million of total consideration, composed of $1.0 million in cash and $0.4 million of cash held in escrow that is subject to net working capital and other adjustments. The Company executed this divestiture to enhance its focus and pursue continued growth initiatives for its core asset management business.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles major line items constituting pretax income (loss) from discontinued operations to net income (loss) from discontinued operations as presented in the consolidated statements of operations (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.706%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.401%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.401%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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,103&#160;&lt;/span&gt;&lt;/td&gt;&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;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,560)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,045)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Selling, general, and 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;(22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(755)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(349)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,259)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(31)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;(60)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 income (expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&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;/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;Goodwill impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;(325)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;(325)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-tax income (loss) from continuing operations&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;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;(444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;(300)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;(587)&lt;/span&gt;&lt;/td&gt;&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;Provision for (benefit from) income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from discontinued operations&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;(10)&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;(444)&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;(277)&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;(587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognized an estimated gain of $0.2 million on the divestiture of CES, calculated by comparing the purchase price to the carrying value of the net assets sold in the transaction as of March 31, 2022. This gain on sale is reflected in other income (expense) in the above table and does not include the impact of $0.4&#160;million of transaction costs that are included in selling, general, and administrative expense. These amounts may be adjusted in future periods as ongoing changes to the net working capital and transaction costs related to the sale are finalized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the carrying amounts of major classes of assets and liabilities of discontinued operations to total assets and liabilities of discontinued operations that were classified as held for sale in the consolidated balance sheet as of December 31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:70.258%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.881%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.919%"/&gt;&lt;td style="width:0.1%"/&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="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:700;line-height:100%"&gt;Carrying amounts of major classes of assets held for sale:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and 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;129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current assets&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;2,204&#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;Fixed assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td 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,313&#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 style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying amounts of major classes of liabilities held for sale:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;Accrued personnel costs&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;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Accounts payable and accrued 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;1,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;/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;Loans payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&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;1,194&#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:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i00467cf3549b458185b1e593957ac615_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RleHRyZWdpb246ZDllMzBiMGZhMGRkNDY5NDk4YzVjNmJiY2YwOTdlODdfMTk4_b9e3b5d0-b82f-4d9b-bac9-60b91d7a4092"
      unitRef="usd">1400000</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:ProceedsFromDivestitureOfBusinesses
      contextRef="i7eff7bad456f432488b51e1279bc31b9_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RleHRyZWdpb246ZDllMzBiMGZhMGRkNDY5NDk4YzVjNmJiY2YwOTdlODdfMjM3_95dacf2e-f28b-41c8-aded-ee4f63e3c34a"
      unitRef="usd">1000000</us-gaap:ProceedsFromDivestitureOfBusinesses>
    <chci:EscrowDepositFromDivestitureOfBusiness
      contextRef="i00467cf3549b458185b1e593957ac615_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RleHRyZWdpb246ZDllMzBiMGZhMGRkNDY5NDk4YzVjNmJiY2YwOTdlODdfMjUy_133a3102-ea28-448f-a402-eed7abea167b"
      unitRef="usd">400000</chci:EscrowDepositFromDivestitureOfBusiness>
    <us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RleHRyZWdpb246ZDllMzBiMGZhMGRkNDY5NDk4YzVjNmJiY2YwOTdlODdfMTU3MQ_98ba19f9-b05c-4d95-9ee7-82b5310a3d10">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles major line items constituting pretax income (loss) from discontinued operations to net income (loss) from discontinued operations as presented in the consolidated statements of operations (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.706%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.401%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.401%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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,103&#160;&lt;/span&gt;&lt;/td&gt;&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;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,560)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,045)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Selling, general, and 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;(22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(755)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(349)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,259)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(31)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;(60)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 income (expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&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;/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;Goodwill impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;(325)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;(325)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-tax income (loss) from continuing operations&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;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;(444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;(300)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;(587)&lt;/span&gt;&lt;/td&gt;&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;Provision for (benefit from) income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;(23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from discontinued operations&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;(10)&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;(444)&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;(277)&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;(587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognized an estimated gain of $0.2 million on the divestiture of CES, calculated by comparing the purchase price to the carrying value of the net assets sold in the transaction as of March 31, 2022. This gain on sale is reflected in other income (expense) in the above table and does not include the impact of $0.4&#160;million of transaction costs that are included in selling, general, and administrative expense. These amounts may be adjusted in future periods as ongoing changes to the net working capital and transaction costs related to the sale are finalized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the carrying amounts of major classes of assets and liabilities of discontinued operations to total assets and liabilities of discontinued operations that were classified as held for sale in the consolidated balance sheet as of December 31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:70.258%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.881%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.919%"/&gt;&lt;td style="width:0.1%"/&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="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:700;line-height:100%"&gt;Carrying amounts of major classes of assets held for sale:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and 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;129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current assets&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;2,204&#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;Fixed assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td 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,313&#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 style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying amounts of major classes of liabilities held for sale:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;Accrued personnel costs&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;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Accounts payable and accrued 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;1,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;/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;Loans payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&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;1,194&#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:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMi0xLTEtMS0zNDQ1Mg_159eb2f7-6b6e-4af9-83aa-d1a58a4424cf"
      unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMi0zLTEtMS0zNDQ1Mg_af394ae3-d7d3-4f91-a615-7c0e4d264ca0"
      unitRef="usd">2626000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMi01LTEtMS0zNDQ1Mg_f9c94b3f-4024-4725-a1de-598222def87b"
      unitRef="usd">1460000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMi03LTEtMS0zNDQ1Mg_fd3b2dca-59cf-494a-a52c-27ab454d9f5c"
      unitRef="usd">4103000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMy0xLTEtMS0zNDQ1Mg_66aa0246-53b3-4e0c-b43f-3c2853dfb49c"
      unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMy0zLTEtMS0zNDQ1Mg_18c4eb1b-87cb-43b4-a37b-5690801e1898"
      unitRef="usd">1958000</us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMy01LTEtMS0zNDQ1Mg_a7959cfb-6161-42f0-bbb8-df56527e3582"
      unitRef="usd">1560000</us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMy03LTEtMS0zNDQ1Mg_b243a7a4-ee20-4946-ae89-b8abe44feeae"
      unitRef="usd">3045000</us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold>
    <chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNC0xLTEtMS0zNDQ1Mg_9fd783ac-1b39-44aa-9a04-6bcc91e23e2e"
      unitRef="usd">22000</chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative>
    <chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNC0zLTEtMS0zNDQ1Mg_05e62ac6-ec21-4773-a94e-04adcac023eb"
      unitRef="usd">755000</chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative>
    <chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNC01LTEtMS0zNDQ1Mg_a237d482-5a5a-4f46-93ca-57d6c14df2d2"
      unitRef="usd">349000</chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative>
    <chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNC03LTEtMS0zNDQ1Mg_5cd26b8f-7b60-40c2-b778-ae7528880b51"
      unitRef="usd">1259000</chci:DisposalGroupIncludingDiscontinuedOperationSellingGeneralAndAdministrative>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNS0xLTEtMS0zNDQ1Mg_09ccc02c-24fc-4602-bc11-a59b8c0158cc"
      unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNS0zLTEtMS0zNDQ1Mg_d7a1a097-2105-4e42-a65d-5b4f66235918"
      unitRef="usd">31000</us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNS01LTEtMS0zNDQ1Mg_acc4c4fb-044c-4adf-869e-d937bc78d0fc"
      unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNS03LTEtMS0zNDQ1Mg_b3d0f37e-bef9-4701-8183-0e10f0df6cdf"
      unitRef="usd">60000</us-gaap:DisposalGroupIncludingDiscontinuedOperationDepreciationAndAmortization>
    <chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNi0xLTEtMS0zNDc2MA_5af6e05c-469f-4f84-99e7-2e3b69ebf14c"
      unitRef="usd">1000</chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense>
    <chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNi0zLTEtMS0zNDc2MA_d08ab1e7-b8fe-4ff3-9788-8f3fb5fa5406"
      unitRef="usd">1000</chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense>
    <chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNi01LTEtMS0zNDQ1Mg_b035a5d1-bfff-4216-8ec3-e1607dd6af53"
      unitRef="usd">-149000</chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense>
    <chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNi03LTEtMS0zNDQ1Mg_058cc82f-28f4-4d1e-8c86-e798f0cefdb0"
      unitRef="usd">1000</chci:DisposalGroupIncludingDiscontinuedOperationOtherIncomeExpense>
    <chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNy0xLTEtMS0zNDc2MA_c261217f-dc89-4444-adf7-efbc9bc8a44d"
      unitRef="usd">0</chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment>
    <chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNy0zLTEtMS0zNDc2MA_ead57abd-1cb6-4a3e-89b9-f481b81027d7"
      unitRef="usd">325000</chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment>
    <chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNy01LTEtMS0zNDQ1Mg_df465789-3794-4ebf-9de9-c4c3f4265bc7"
      unitRef="usd">0</chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment>
    <chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfNy03LTEtMS0zNDQ1Mg_066e543c-a8d3-4f79-9e3e-f66db1d1e73d"
      unitRef="usd">325000</chci:DisposalGroupIncludingDiscontinuedOperationGoodwillImpairment>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOC0xLTEtMS0zNDc2MA_a0458454-4ec9-4dd9-a980-58ab7426bf4b"
      unitRef="usd">-23000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOC0zLTEtMS0zNDc2MA_29e157d3-7d9c-4a3d-8312-0a384935ba6b"
      unitRef="usd">-444000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOC01LTEtMS0zNDQ1Mg_338a0acd-c06d-4bad-9d99-01af5ecbd68b"
      unitRef="usd">-300000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOC03LTEtMS0zNDQ1Mg_541eec56-86a6-43e8-9309-ed3e65494538"
      unitRef="usd">-587000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOS0xLTEtMS0zNDc2MA_98c60c3b-7753-4d34-9031-3673c92512d1"
      unitRef="usd">-13000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOS0zLTEtMS0zNDc2MA_eccd34df-df0e-4d0f-92f1-5addc7278ff5"
      unitRef="usd">0</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOS01LTEtMS0zNDQ1Mg_9032c126-49ac-4c15-989b-5bcb0773f409"
      unitRef="usd">-23000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfOS03LTEtMS0zNDQ1Mg_ce466160-4c1a-48bb-859a-1ce5e3b033bc"
      unitRef="usd">0</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMTAtMS0xLTEtMzQ3NjA_587de50f-807a-4db8-98c9-bfd973789486"
      unitRef="usd">-10000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMTAtMy0xLTEtMzQ3NjA_0cddeed0-75e7-4939-8e5c-1b68d58a509a"
      unitRef="usd">-444000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMTAtNS0xLTEtMzQ0NTI_ec034190-1409-46cd-bcb5-0a766464ad90"
      unitRef="usd">-277000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOjAwNmFhNDVhZmYxYzRkMjY5NTJkOWEwZjgyZmQ2NjFiL3RhYmxlcmFuZ2U6MDA2YWE0NWFmZjFjNGQyNjk1MmQ5YTBmODJmZDY2MWJfMTAtNy0xLTEtMzQ0NTI_7130c878-3901-416a-bb77-e5ceebbda100"
      unitRef="usd">-587000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax
      contextRef="i7eff7bad456f432488b51e1279bc31b9_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RleHRyZWdpb246ZDllMzBiMGZhMGRkNDY5NDk4YzVjNmJiY2YwOTdlODdfNzU0_b09d053f-01b9-41f7-b5b4-0f900ad2509b"
      unitRef="usd">200000</us-gaap:DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax>
    <chci:DiscontinuedOperationTransactionCostsOnDisposalOfDiscontinuedOperation
      contextRef="i7eff7bad456f432488b51e1279bc31b9_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RleHRyZWdpb246ZDllMzBiMGZhMGRkNDY5NDk4YzVjNmJiY2YwOTdlODdfMTAzMg_73e0671c-e839-4af2-98d7-e724b9c42b9a"
      unitRef="usd">400000</chci:DiscontinuedOperationTransactionCostsOnDisposalOfDiscontinuedOperation>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfMy0xLTEtMS0zNDQ1Mg_cee8be7d-634e-4b99-bc51-8157773ab9e6"
      unitRef="usd">2075000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfNS0xLTEtMS0zNDQ1Mg_2be4ab16-16fc-4c24-b79b-f62a92183cb0"
      unitRef="usd">129000</us-gaap:PrepaidExpenseAndOtherAssets>
    <us-gaap:AssetsCurrent
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfNi0xLTEtMS0zNDQ1Mg_60049646-6793-4a76-8f5d-d95eaf531c55"
      unitRef="usd">2204000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfNy0xLTEtMS0zNDQ1Mg_18c03965-94d1-4e08-85ff-9394e3249617"
      unitRef="usd">106000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfOS0xLTEtMS0zNDQ1Mg_afd87b90-817d-4079-b835-b89f8473b0c0"
      unitRef="usd">3000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:Assets
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfMTAtMS0xLTEtMzQ0NTI_1fedd785-eac3-45b4-8b70-42f386abd23f"
      unitRef="usd">2313000</us-gaap:Assets>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfMTMtMS0xLTEtMzQ0NTI_1e5e6329-6ede-4fe2-bd13-15600f652c8b"
      unitRef="usd">153000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfMTQtMS0xLTEtMzQ0NTI_3256cf76-71fc-4c02-84aa-76968f67c431"
      unitRef="usd">1015000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:LoansPayable
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfMTUtMS0xLTEtMzQ0NTI_d70f83ee-91a4-4453-883e-4b82946682b1"
      unitRef="usd">26000</us-gaap:LoansPayable>
    <us-gaap:Liabilities
      contextRef="i7968a26eb3474c39ab793f79ed40ca76_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF8zNy9mcmFnOmQ5ZTMwYjBmYTBkZDQ2OTQ5OGM1YzZiYmNmMDk3ZTg3L3RhYmxlOmE0ZmE5NzJmYWZjZjQ1OTY4ZjYzMTJhZjE3YzM4MDRkL3RhYmxlcmFuZ2U6YTRmYTk3MmZhZmNmNDU5NjhmNjMxMmFmMTdjMzgwNGRfMTYtMS0xLTEtMzQ0NTI_6babc4ac-fcaf-4a12-9266-711b1bb53d7f"
      unitRef="usd">1194000</us-gaap:Liabilities>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF85MDYvZnJhZzo5OWI1MmI2NmExZjg0ZGVmOWY0Zjg0MGU3NzYxYzVkOC90ZXh0cmVnaW9uOjk5YjUyYjY2YTFmODRkZWY5ZjRmODQwZTc3NjFjNWQ4XzEwOTk1MTE2MjgzMTg_9bc38f1e-c8a4-42fa-ada5-a05f2861a8ea">Intangible Assets&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 6, 2022, the Company purchased the rights to the &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;www.comstock.com&lt;/span&gt; domain name for $0.1 million. The Company has recorded the domain name purchase as an indefinite-lived intangible asset on its consolidated balance sheets that will be tested annually for impairment.</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i99dbfb6f3fd544b4b45fff94c4c8057d_I20220506"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF85MDYvZnJhZzo5OWI1MmI2NmExZjg0ZGVmOWY0Zjg0MGU3NzYxYzVkOC90ZXh0cmVnaW9uOjk5YjUyYjY2YTFmODRkZWY5ZjRmODQwZTc3NjFjNWQ4XzU0OTc1NTgxNDE2MA_a9d79d5d-959a-43cc-afdc-5adc5b6031ab"
      unitRef="usd">100000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <chci:InvestmentsInRealEstateVenturesTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfNTM0Mg_e156502c-668a-4900-a422-1bf3b2a783ac">Investments in Real Estate Ventures&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's material unconsolidated investments in real estate ventures are recorded on the consolidated balance sheets at fair value. The following table summarizes the fair value of these investments (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:108pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:48.419%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.244%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&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:700;line-height:100%"&gt;Description&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;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;Investors X&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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;The Hartford&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,201&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,211&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;BLVD Forty Four&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;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,259&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;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,007&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;BLVD Ansel&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;2,608&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Investors X&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 30, 2019, the Company entered into a Master Transfer agreement with CPRES which entitled the Company to priority distribution of residual cash flow from its Class B membership interest in Comstock Investors X, L.C. ("Investors X"), an unconsolidated variable interest entity that owns the Company's residual homebuilding operations. As of June 30, 2022, the residual cash flow primarily relates to anticipated returns of cash backing outstanding letters of credit and cash collateral posted for land development work performed by subsidiaries owned by Investors X. The cash will be released as bond release work associated with these projects is completed. In addition, a subsidiary of Investors X is undergoing a re-zoning of land from commercial to residential and the Company will be entitled to 50% of the profit from the anticipated residential lot sales after re-zoning and land development work is completed. Expected future cash flows include contractually fixed revenues and expenses, as well as estimates for future revenues and expenses where contracts do not currently exist. These estimates are based on prior experience as well as comparable, third-party data. See Note 14 for further information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:13pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;The Hartford&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the Company entered into a joint venture with CP to acquire a Class-A office building adjacent to Clarendon Station on Metro&#x2019;s Orange Line in Arlington County&#x2019;s premier transit-oriented office market, the Rosslyn-Ballston Corridor. Built in 2003, the 211,000 square foot mixed-use Leadership in Energy and Environmental Design (&#x201c;LEED&#x201d;) GOLD building is approximately 76% leased to multiple high-quality tenants. In February 2020, the Company arranged for DivcoWest to purchase a majority ownership stake in the Hartford Building and secured a $87&#160;million loan facility from MetLife. As part of the transaction, the Company entered into asset management and property management agreements to manage the property. Fair &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;value is determined using an income approach and sales comparable approach models. As of June&#160;30, 2022, the Company&#x2019;s ownership interest in the Hartford was 2.5%. See Note 14 for further information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;BLVD Forty Four&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2021, the Company entered into a joint venture with CP to acquire BLVD Forty Four, a 15-story, luxury high-rise apartment building located one block from the Rockville Metro Station and in the heart of the I-270 Technology and Life Science Corridor in Montgomery County. Built in 2015, the 263-unit mixed use property includes approximately 16,000 square feet of retail and a commercial parking garage. In connection with the transaction, the Company received an acquisition fee and will also receive investment related income and incentive fees in connection with its equity interest in the asset. The Company also provides asset, residential, retail and parking property management services for the property in exchange for market rate fees. Fair value is determined using an income approach and sales comparable approach models. As of June&#160;30, 2022, the Company&#x2019;s ownership interest in BLVD Forty Four was 5%. See Note 14 for further information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;BLVD Ansel&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2022, the Company entered into a joint venture with CP to acquire BLVD Ansel, an 18-story, luxury high-rise apartment building with 250 units located adjacent to BLVD Forty Four in Rockville, Maryland. In connection with the transaction, the Company received an acquisition fee and is entitled to receive investment related income and incentive fees in connection with its equity interest in the asset. The Company will also provide asset, residential, retail and parking property management services for the property in exchange for market rate fees. Fair value is determined using an income approach and sales comparable approach models. As of June&#160;30, 2022, the Company&#x2019;s ownership interest in BLVD Forty Ansel was 5%. See Note 14 for further information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table below summarizes the activity of the Company&#x2019;s unconsolidated investments in real estate ventures that are reported at fair value (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:108pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:46.839%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.428%"/&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;Balance as of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distributions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in fair 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;7,455&#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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Investments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, the Company has a joint venture with Superior Title Services, Inc. ("STS") to provide title insurance to its clients. The Company records this co-investment using the equity method of accounting and adjusts the carrying value of the investment for its proportionate share of net income and distributions. The carrying value of the STS investment is recorded in "other assets" on the Company's consolidated statement of balance sheets. The Company's proportionate share of STS net income and distributions are recorded in gain (loss) on real estate ventures in the consolidated statements of operations. For the three and six months ended June&#160;30, 2022, the Company's proportionate gains from STS earnings were immaterial and $0.1 million, respectively. For the three and six months ended June 30 2021, the Company's proportionate gains from STS earnings were immaterial.&lt;/span&gt;&lt;/div&gt;</chci:InvestmentsInRealEstateVenturesTextBlock>
    <chci:EquityMethodInvestmentsGroupOfInvestmentConsolidatedBalanceSheetAtFairValueTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfNTM0MQ_e96eafb2-9458-439f-b893-2897ca594e72">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's material unconsolidated investments in real estate ventures are recorded on the consolidated balance sheets at fair value. The following table summarizes the fair value of these investments (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:108pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:48.419%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.244%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31,&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:700;line-height:100%"&gt;Description&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;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;Investors X&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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;The Hartford&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,201&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,211&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;BLVD Forty Four&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;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,259&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;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,007&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;BLVD Ansel&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;2,608&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;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:#bfe4ff;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,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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;</chci:EquityMethodInvestmentsGroupOfInvestmentConsolidatedBalanceSheetAtFairValueTableTextBlock>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="ie9bc7243cf07453f81d4421377b6c8cd_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfMi0yLTEtMS0zNDQ1Mg_32085451-a3e8-4c94-93c6-2444695a42e2"
      unitRef="usd">1387000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="iba4b87c1415c4dfcb824484137a06f34_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfMi00LTEtMS0zNDQ1Mg_b83dad02-4fcc-4f76-a864-d12c117234f6"
      unitRef="usd">1484000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i953bb66c68fe4199891e8c8ab2bd638b_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfMy0yLTEtMS0zNDQ1Mg_2c4aaf8f-b320-4899-9f6c-ee1e13e6cb20"
      unitRef="usd">1201000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i90dcb2b8d36849d1bcc507f6544319df_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfMy00LTEtMS0zNDQ1Mg_7bf01b9e-4841-4e10-9be4-d8b3000a296e"
      unitRef="usd">1211000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i2e25c677f8fa425b9651e95c93881db7_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfNC0yLTEtMS0zNDQ1Mg_487cd04d-57a1-443f-a846-5d09648ebb11"
      unitRef="usd">2259000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i13c51790380c4bd58b8d035fc262d547_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfNC00LTEtMS0zNDQ1Mg_87d91c71-8e8a-4158-ad8d-a8fc679c673d"
      unitRef="usd">2007000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i316f2d8a465342f0b3b8c1409f67fdaf_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfNS0yLTEtMS0zNDQ1Mg_ad9b8d6e-60e6-4a3d-a749-8fd2eee27285"
      unitRef="usd">2608000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i78957e68e78c4e64988d8b9a2770a91f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfNS00LTEtMS0zNDQ1Mg_44408fa5-3b9c-45e9-8787-d49c759dfc15"
      unitRef="usd">0</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfNi0yLTEtMS0zNDQ1Mg_bc5c0712-abe1-419e-b87c-625dc2eb27f9"
      unitRef="usd">7455000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjY3ZDJiNTU0Y2FhZDQ2NjE4ZDU1MzJmNjc5MWQ3YmE4L3RhYmxlcmFuZ2U6NjdkMmI1NTRjYWFkNDY2MThkNTUzMmY2NzkxZDdiYThfNi00LTEtMS0zNDQ1Mg_4080b250-e643-44d8-8784-6eb6143abd0c"
      unitRef="usd">4702000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <chci:ProceedFromSaleOfInvestmentPercentageOfProfit
      contextRef="ibd18ef37236f4dc5b60ff7cce585549d_I20190430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMTIzMg_4be49b77-f57d-4d9e-b228-108af978afd9"
      unitRef="number">0.50</chci:ProceedFromSaleOfInvestmentPercentageOfProfit>
    <chci:NumberOfSquareFoot
      contextRef="i03803d4cd36e4a3b91de262a8271853f_D20191201-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMjA1NA_33c64a4a-6534-457e-9588-3d16eb016799"
      unitRef="sqft">211000</chci:NumberOfSquareFoot>
    <chci:PercentageOfLeaseToTenants
      contextRef="i03803d4cd36e4a3b91de262a8271853f_D20191201-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMjE2NQ_85e3ddf5-1e9e-488c-9707-40a15ee4f560"
      unitRef="number">0.76</chci:PercentageOfLeaseToTenants>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i71231d46d4ff40469e8d0d0377c589bf_I20200229"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMjM0MA_d0ffe50e-1910-4469-82a3-b7c1ea32e92f"
      unitRef="usd">87000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="id3acf370e8ed49768f33257212b33cae_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMjY2Mw_3192c8de-1130-43cd-85f2-bf705d07bcb2"
      unitRef="number">0.025</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <chci:NumberOfUnitsInProperty
      contextRef="i603f1977545f435daa757b67e33ccbcf_D20211001-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMzAyNw_375299ac-b533-43ba-87a1-6042e8607e52"
      unitRef="unit">263</chci:NumberOfUnitsInProperty>
    <chci:NumberOfSquareFoot
      contextRef="i603f1977545f435daa757b67e33ccbcf_D20211001-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMzA3Nw_b978fb02-dc9d-40f9-841f-68dd863d29e7"
      unitRef="sqft">16000</chci:NumberOfSquareFoot>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="ic219e62d273f444bb747e2d6d71e36a8_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMzY0Mg_f322586d-76e1-48dc-956e-20fe3b23afcf"
      unitRef="number">0.05</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="ic55f544b67fd4f089fad4a9e3522b7ec_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfNDQyOA_eb897aec-4020-4926-8e83-af448735a22a"
      unitRef="number">0.05</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <chci:ScheduleOfInvestmentsInRealEstateVenturesTableTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfNTMzNw_df8fd8a3-59c4-4c6e-bd55-4dd142da80d6">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table below summarizes the activity of the Company&#x2019;s unconsolidated investments in real estate ventures that are reported at fair value (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:108pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:46.839%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.372%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.428%"/&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;Balance as of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distributions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in fair 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;7,455&#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;</chci:ScheduleOfInvestmentsInRealEstateVenturesTableTableTextBlock>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i0680653343c140399e4f4a9cae3cc88c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjRkNjJiMTE2NWVlYjQzYjY4MTAxZDc3ZDc3M2EzMDI2L3RhYmxlcmFuZ2U6NGQ2MmIxMTY1ZWViNDNiNjgxMDFkNzdkNzczYTMwMjZfMC0xLTEtMS0zNDQ1Mg_ca38ba66-e8b5-4dcb-8bc2-d4691ed187ad"
      unitRef="usd">4702000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <chci:EquityMethodInvestmentFairValueAdditions
      contextRef="i319d6ff5794f45539c7cf6c126d895dc_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjRkNjJiMTE2NWVlYjQzYjY4MTAxZDc3ZDc3M2EzMDI2L3RhYmxlcmFuZ2U6NGQ2MmIxMTY1ZWViNDNiNjgxMDFkNzdkNzczYTMwMjZfMS0xLTEtMS0zNDQ1Mg_b0622d94-5f5a-444b-99ac-7494f10af413"
      unitRef="usd">2684000</chci:EquityMethodInvestmentFairValueAdditions>
    <us-gaap:EquityMethodInvestmentDividendsOrDistributions
      contextRef="i319d6ff5794f45539c7cf6c126d895dc_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjRkNjJiMTE2NWVlYjQzYjY4MTAxZDc3ZDc3M2EzMDI2L3RhYmxlcmFuZ2U6NGQ2MmIxMTY1ZWViNDNiNjgxMDFkNzdkNzczYTMwMjZfMi0xLTEtMS0zNDQ1Mg_ba01abe9-481a-48ac-ab3f-7f55c01bd79d"
      unitRef="usd">88000</us-gaap:EquityMethodInvestmentDividendsOrDistributions>
    <chci:ChangeInFairValueOfEquityMethodInvestment
      contextRef="i319d6ff5794f45539c7cf6c126d895dc_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjRkNjJiMTE2NWVlYjQzYjY4MTAxZDc3ZDc3M2EzMDI2L3RhYmxlcmFuZ2U6NGQ2MmIxMTY1ZWViNDNiNjgxMDFkNzdkNzczYTMwMjZfMy0xLTEtMS0zNDQ1Mg_03f8f80b-1bb9-4ebf-be04-c32ea1245fdd"
      unitRef="usd">157000</chci:ChangeInFairValueOfEquityMethodInvestment>
    <us-gaap:EquityMethodInvestmentsFairValueDisclosure
      contextRef="i56eaf8991c334e7392f96f0bbc5094be_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RhYmxlOjRkNjJiMTE2NWVlYjQzYjY4MTAxZDc3ZDc3M2EzMDI2L3RhYmxlcmFuZ2U6NGQ2MmIxMTY1ZWViNDNiNjgxMDFkNzdkNzczYTMwMjZfNC0xLTEtMS0zNDQ1Mg_c91fc01f-6448-4c58-bb08-0f19e1ebe2a8"
      unitRef="usd">7455000</us-gaap:EquityMethodInvestmentsFairValueDisclosure>
    <chci:ProportionateShareOfNetIncomeAndDistributionsAmount
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMTA5OTUxMTYzNDYyMA_aa72f976-fd1f-4c13-86b9-0b358d2a96be"
      unitRef="usd">0</chci:ProportionateShareOfNetIncomeAndDistributionsAmount>
    <chci:ProportionateShareOfNetIncomeAndDistributionsAmount
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfNTQ5NzU1ODIwNTMy_a4c5d98b-77ab-453e-8de8-d4c40b315dff"
      unitRef="usd">-100000</chci:ProportionateShareOfNetIncomeAndDistributionsAmount>
    <chci:ProportionateShareOfNetIncomeAndDistributionsAmount
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMTA5OTUxMTYzNDY0Nw_6ff5d000-9613-48b4-9160-611da68b71b9"
      unitRef="usd">0</chci:ProportionateShareOfNetIncomeAndDistributionsAmount>
    <chci:ProportionateShareOfNetIncomeAndDistributionsAmount
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80MC9mcmFnOmYyN2QxYjI4NWYyMzQ0ZWE4MmFhZjVhZTFlNzlkMGZhL3RleHRyZWdpb246ZjI3ZDFiMjg1ZjIzNDRlYTgyYWFmNWFlMWU3OWQwZmFfMTA5OTUxMTYzNDY0Nw_c091f7eb-3e55-4e8e-8389-6ad84c11cc26"
      unitRef="usd">0</chci:ProportionateShareOfNetIncomeAndDistributionsAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RleHRyZWdpb246NDdiYWQyZjRmNmZhNGJhMzk5Y2E1Y2NlN2VkOThkNjlfMTA3Nw_33bbd9b6-8cb4-46a3-a051-2c3c8d1c1c2e">LeasesThe Company has operating leases for office space leased in various buildings for its own use. The Company's leases have remaining terms ranging from 5 to 10 years. The Company's lease agreements do not contain any material residual value guarantees or material restrictive covenants. Lease costs related to the Company's operating leases are primarily reflected in "cost of revenue" in the consolidated statements of operations, as they are a reimbursable cost under the 2022 Asset Management Agreement (see Note 14 for further information).&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes operating lease costs, by type (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.649%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.290%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.107%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.107%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.276%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.972%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.141%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease costs&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 0 7pt"/&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 0 7pt"/&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 0 7pt"/&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed lease costs&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;254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease costs&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;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&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;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 0 7pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease costs&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;352&#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 0 13pt"/&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;337&#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 0 13pt"/&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;684&#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 0 13pt"/&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;660&#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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents supplemental cash flow information related to the Company's operating leases (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.997%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.955%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.673%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.673%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for 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 0 7pt"/&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 0 7pt"/&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 0 7pt"/&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: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 cash flows from operating leases&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;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;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 0 7pt"/&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;653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;609&#160;&lt;/span&gt;&lt;/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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2022, the Company's operating leases had a weighted-average remaining lease term of 6.67 years and a weighted-average discount rate of 4.25%.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes future lease payments (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:108pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:46.120%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.153%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ending December 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483&#160;&lt;/span&gt;&lt;/td&gt;&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;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;985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;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;1,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;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;4,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future 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;8,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,403)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&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;7,249&#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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company does not have any leases which have not yet commenced as of June&#160;30, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="i5af4a7e917a04fa79cc64acc21c1a7e4_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RleHRyZWdpb246NDdiYWQyZjRmNmZhNGJhMzk5Y2E1Y2NlN2VkOThkNjlfMTY1_208d2f32-2809-4c54-9baf-19d7261437f8">P5Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="ibc62d4a6f5944d3985ae06403fc76844_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RleHRyZWdpb246NDdiYWQyZjRmNmZhNGJhMzk5Y2E1Y2NlN2VkOThkNjlfMTcx_d0eb0623-25f9-479a-8ace-71bca057934f">P10Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RleHRyZWdpb246NDdiYWQyZjRmNmZhNGJhMzk5Y2E1Y2NlN2VkOThkNjlfMTA3OA_24034c7b-b444-4d60-86c3-4f33a8c0bea4">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes operating lease costs, by type (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.649%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.290%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.107%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.107%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.276%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.972%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.141%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease costs&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 0 7pt"/&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 0 7pt"/&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 0 7pt"/&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed lease costs&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;254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease costs&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;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&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;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 0 7pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease costs&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;352&#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 0 13pt"/&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;337&#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 0 13pt"/&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;684&#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 0 13pt"/&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;660&#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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents supplemental cash flow information related to the Company's operating leases (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.997%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.955%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.673%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.673%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for 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 0 7pt"/&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 0 7pt"/&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 0 7pt"/&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: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 cash flows from operating leases&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;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;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 0 7pt"/&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;653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&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;609&#160;&lt;/span&gt;&lt;/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:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfMy0xLTEtMS0zNDg1NQ_51c6dd6e-2bcd-49f6-a424-7e6f39041cb5"
      unitRef="usd">254000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfMy0zLTEtMS0zNDg1NQ_77dcc9a4-c0f6-43a4-881f-c4b571e2d985"
      unitRef="usd">249000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfMy01LTEtMS0zNDQ1Mg_79c843e1-66c9-4ac8-9a1f-a266a27e9026"
      unitRef="usd">508000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfMy03LTEtMS0zNDQ1Mg_28f42966-93f8-42e9-a5d3-0eff5ddba43f"
      unitRef="usd">497000</us-gaap:OperatingLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNC0xLTEtMS0zNDQ1Mg_2d15a3c9-3ec8-446a-a553-a3ed2fbea079"
      unitRef="usd">98000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNC0zLTEtMS0zNDQ1Mg_ce492f99-2cbc-4be0-99c7-29a21251ba27"
      unitRef="usd">88000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNC01LTEtMS0zNDQ1Mg_83a939b4-2c80-4a7c-ade1-c63f685f2091"
      unitRef="usd">176000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNC03LTEtMS0zNDQ1Mg_5f5e51a0-2ebb-4cbf-8c50-c31f86caf6cd"
      unitRef="usd">163000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNS0xLTEtMS0zNDQ1Mg_98672602-2ed2-4a08-a9b1-c7bfd7af78cf"
      unitRef="usd">352000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNS0zLTEtMS0zNDQ1Mg_b8f5e29d-7829-47cd-86d3-ac4710482716"
      unitRef="usd">337000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNS01LTEtMS0zNDQ1Mg_1f229321-0531-4fbc-b5a9-97ea1bf1a726"
      unitRef="usd">684000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmQ4MTkzYTg0YWM0NjRlNmM5ZTg4NjNjZDZlYzBlNzUzL3RhYmxlcmFuZ2U6ZDgxOTNhODRhYzQ2NGU2YzllODg2M2NkNmVjMGU3NTNfNS03LTEtMS0zNDQ1Mg_1ed825b3-365e-4b03-b683-81be1a9efb0f"
      unitRef="usd">660000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOjRmZDY0ODAxZThiMDRiNmRiOWQzMzdjNWI0ZmMwZjY5L3RhYmxlcmFuZ2U6NGZkNjQ4MDFlOGIwNGI2ZGI5ZDMzN2M1YjRmYzBmNjlfMy0xLTEtMS0zNDQ1Mg_94bce9b1-906c-417d-a786-de42c7887ab7"
      unitRef="usd">342000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOjRmZDY0ODAxZThiMDRiNmRiOWQzMzdjNWI0ZmMwZjY5L3RhYmxlcmFuZ2U6NGZkNjQ4MDFlOGIwNGI2ZGI5ZDMzN2M1YjRmYzBmNjlfMy0zLTEtMS0zNDQ1Mg_9acb5459-4cbc-44b1-a405-ab11ce80dd75"
      unitRef="usd">311000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOjRmZDY0ODAxZThiMDRiNmRiOWQzMzdjNWI0ZmMwZjY5L3RhYmxlcmFuZ2U6NGZkNjQ4MDFlOGIwNGI2ZGI5ZDMzN2M1YjRmYzBmNjlfMy01LTEtMS0zNDQ1Mg_299116d4-b597-4c30-b17d-a26d122a30f8"
      unitRef="usd">653000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOjRmZDY0ODAxZThiMDRiNmRiOWQzMzdjNWI0ZmMwZjY5L3RhYmxlcmFuZ2U6NGZkNjQ4MDFlOGIwNGI2ZGI5ZDMzN2M1YjRmYzBmNjlfMy03LTEtMS0zNDQ1Mg_5d550d85-e5fe-491f-972c-b67a206fa1db"
      unitRef="usd">609000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RleHRyZWdpb246NDdiYWQyZjRmNmZhNGJhMzk5Y2E1Y2NlN2VkOThkNjlfODcw_539ca82a-2703-428d-b2f9-08d2c7c10454">P6Y8M1D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RleHRyZWdpb246NDdiYWQyZjRmNmZhNGJhMzk5Y2E1Y2NlN2VkOThkNjlfOTEz_ffc41a47-a712-4c81-8ba6-8f29181c59e4"
      unitRef="number">0.0425</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RleHRyZWdpb246NDdiYWQyZjRmNmZhNGJhMzk5Y2E1Y2NlN2VkOThkNjlfMTA3OQ_b80ca681-45d8-4cd7-8cdf-77dbf2a59e0a">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes future lease payments (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:108pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:46.120%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.153%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ending December 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483&#160;&lt;/span&gt;&lt;/td&gt;&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;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;985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;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;1,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;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;4,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future 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;8,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,403)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&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;7,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfMS0xLTEtMS0zNDQ1Mg_e51f6d93-b11e-4af3-8147-69d8b0401142"
      unitRef="usd">483000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfMi0xLTEtMS0zNDQ1Mg_cc0d9fe5-6f1e-446c-ab1b-72347daef170"
      unitRef="usd">985000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfMy0xLTEtMS0zNDQ1Mg_0b783a0a-0148-499a-9759-708f08c69e0f"
      unitRef="usd">1008000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfNC0xLTEtMS0zNDQ1Mg_13dcc5ee-421c-4ac1-b593-7b2905ca4568"
      unitRef="usd">1031000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfNS0xLTEtMS0zNDQ1Mg_1f7927ed-2aa7-4da9-958f-83e1e705663f"
      unitRef="usd">1054000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <chci:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfNi0xLTEtMS0zNDQ1Mg_068fbe39-d553-4f51-8994-66d8054e4d07"
      unitRef="usd">4091000</chci:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfNy0xLTEtMS0zNDQ1Mg_ce53596d-f1ab-4e3d-ba91-fa40a33b3953"
      unitRef="usd">8652000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfOC0xLTEtMS0zNDQ1Mg_fb9a1747-9b5f-4f64-9747-324d5adf4c93"
      unitRef="usd">1403000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80My9mcmFnOjQ3YmFkMmY0ZjZmYTRiYTM5OWNhNWNjZTdlZDk4ZDY5L3RhYmxlOmMwMTM0YWNjMDc2YzRmYjA5MDNmNTgwOWJjZjlmYzI1L3RhYmxlcmFuZ2U6YzAxMzRhY2MwNzZjNGZiMDkwM2Y1ODA5YmNmOWZjMjVfOS0xLTEtMS0zNDQ1Mg_45e17383-4d76-43bd-8cab-6816e25fac7d"
      unitRef="usd">7249000</us-gaap:OperatingLeaseLiability>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfMTEwMg_1fcc9ba4-242f-40fa-9ca6-e151601c934b">Debt&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Credit Facility - Due to Affiliates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 19, 2020, the Company entered into a Revolving Capital Line of Credit Agreement with CPRES, pursuant to which the Company secured a $10.0&#160;million capital line of credit (the &#x201c;Credit Facility&#x201d;). Under the terms, the Credit Facility provides for an initial variable interest rate of the Wall Street Journal Prime Rate plus 1.00% per annum on advances made under the Credit Facility, payable monthly in arrears. The Credit Facility also allows for interim draws that carry a maturity date of 12 months from the initial date of the disbursement unless a longer initial term is agreed to by CPRES. On March 27, 2020, the Company borrowed $5.5 million under the Credit Facility and signed an unsecured promissory note to repay principal and interest borrowed by the April 30, 2023 maturity date. &lt;/span&gt;&lt;/div&gt;As of June&#160;30, 2022 and December 31, 2021, the outstanding balance on the Credit Facility was $5.5&#160;million. The effective interest rate as of June&#160;30, 2022 and December 31, 2021 was 5.75% and 4.25%, respectively.</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="iac701a754a8346fea164d0f070c9c437_I20200319"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfMjc1_500ef5ad-3e68-4e13-9d50-25ac946081ed"
      unitRef="usd">10000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ia90c5ab2db4d4c0bbd42b22c44695eee_D20200319-20200319"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfNDUz_ebd2d202-1b08-404f-a67a-52eedb3a17a8"
      unitRef="number">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <chci:DebtInstrumentMaturityDateFromInitialDate
      contextRef="i2c8b730625ec4c5ea2e522c5eb06eec3_D20200319-20200319"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfNjE4_10b0b58c-3f4a-478c-bfc0-6f2ebdd27296">P12M</chci:DebtInstrumentMaturityDateFromInitialDate>
    <us-gaap:LineOfCredit
      contextRef="i865951144b2c403a81fcbfc5b82dd782_I20200327"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfNTQ5NzU1ODE1MDQ5_73754205-0bb5-4a74-99a7-adf5228692b4"
      unitRef="usd">5500000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="i9691250afa39414cbf5c1faaf0c02de4_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfMTA5OTUxMTYyODk1Mw_610fd792-a650-4c74-8785-dd8ebf22b2fd"
      unitRef="usd">5500000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="i405846a2747b46518e3b88576b6f3d41_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfMTA5OTUxMTYyODk1Mw_ad663f2d-e30c-4c12-89d2-c51483897465"
      unitRef="usd">5500000</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i7156dcec03194df1b3beb2fdf7c63235_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfNTQ5NzU1ODE1MDMz_bd7bec76-7921-49a7-9c1d-16a4f65c9020"
      unitRef="number">0.0575</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i79150d0ddc54487ea7a8a6f8691257af_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80Ni9mcmFnOmIxOTA0OWIzMTJjZjRhOGNiMWRmODJkZWRkNGQ5ZWViL3RleHRyZWdpb246YjE5MDQ5YjMxMmNmNGE4Y2IxZGY4MmRlZGQ0ZDllZWJfNTQ5NzU1ODE1MDM3_e110b407-c2a9-4e62-86a4-1f347ef5d8fb"
      unitRef="number">0.0425</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF80OS9mcmFnOjNiZjNkZjkyZjk2ZTQzZWRhNWY3ZWFmMzc4ZjQ5MTViL3RleHRyZWdpb246M2JmM2RmOTJmOTZlNDNlZGE1ZjdlYWYzNzhmNDkxNWJfNjc0_399296b1-0c21-4391-b4c2-ca94d1682773">Commitments and Contingencies&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains certain non-cancelable operating leases that contain various renewal options. See Note 6 for further information on the Company's operating lease commitments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to litigation from time to time in the ordinary course of business; however, the Company does not expect the results, if any, to have a material adverse impact on its results of operations, financial position or liquidity. The Company &lt;/span&gt;&lt;/div&gt;records a contingent liability when it is both probable that a liability has been incurred and the amount can be reasonably estimated. The Company expenses legal defense costs as they are incurred.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81Mi9mcmFnOmZiYmE2ZDQyZDI2ZTQxODA4MmE3OGI0MzQ5NmRiZGNiL3RleHRyZWdpb246ZmJiYTZkNDJkMjZlNDE4MDgyYTc4YjQzNDk2ZGJkY2JfMTE5NQ_1578efa7-9d9b-43a4-922f-8f8ea0e0cff3">Fair Value Disclosures&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;As of June&#160;30, 2022, the carrying amount of cash and cash equivalents, accounts receivable, prepaid and other current assets, accounts payable and accrued liabilities approximated fair value because of the short-term nature of these instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2022, based upon unobservable market rates (Level 3), the fair value of the Company&#x2019;s floating rate debt was estimated to approximate carrying value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2022, the Company had certain equity method investments in real estate ventures that it elected to record at fair value using significant unobservable inputs (Level 3). For further information on these investments, see Note 5.  &lt;/span&gt;&lt;/div&gt;The Company may also value its non-financial assets and liabilities, including items such as long-lived assets, at fair value on a non-recurring basis if it is determined that impairment has occurred. Such fair value measurements typically use significant unobservable inputs (Level 3), unless a quoted market price (Level 1) or quoted prices for similar instruments, quoted prices for identical or similar instruments in inactive markets, or amounts derived from valuation models (Level 2) are available.</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMzY2OA_5f07acf8-e3fe-4938-9886-60dd259ad482">Stockholders' Equity&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's certificate of incorporation authorizes the issuance of Class A common stock and Class B common stock, each with a par value of $0.01 per share. Holders of Class A common stock and Class B common stock are entitled to dividends when, as and if, declared by the Company's board of directors, subject to the rights of the holders of all classes of stock outstanding having priority rights to dividends. Holders of Class A common stock are entitled to one vote per share and holders of Class B common stock are entitled to fifteen votes per share. Shares of our Class B common stock are convertible into an equivalent number of shares of our Class A common stock and generally convert into shares of our Class A common stock upon transfer. As of June&#160;30, 2022, the Company had not declared any dividends. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 13, 2022, the Company entered into a Share Exchange and Purchase Agreement ("SEPA") with CPRES, pursuant to which the Company acquired from CPRES all outstanding shares of its non-convertible and non-redeemable Series C preferred stock for (i) 1.0 million shares of the Company&#x2019;s Class A common stock, valued at the consolidated closing bid price of the Class A shares on Nasdaq on the business day immediately preceding the entry into the SEPA, and (ii) $4.0 million in cash. The SEPA was unanimously approved by the independent directors of the Company. Upon completion of the transaction, all of the shares of Series C preferred stock were immediately cancelled and fully retired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;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;At the time of the transaction, the total carrying value of the Series C preferred stock (including the related additional paid-in capital) was $10.3 million. The share exchange was accounted for as a redemption, therefore the $2.0 million difference between the carrying value and the $8.3 million fair value of the consideration paid upon redemption was added to net income for the three and six months ended June&#160;30, 2022 to arrive at income available to common stockholders and calculate net income (loss) per share (see Note 13 for further information).  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 12, 2019, the Company approved the 2019 Omnibus Incentive Plan (the &#x201c;2019 Plan&#x201d;), which replaced the 2004 Long-Term Compensation Plan (the &#x201c;2004 Plan&#x201d;). The 2019 Plan provides for the issuance of stock options, stock appreciation rights ("SARs"), restricted stock, restricted stock units, dividend equivalents, performance awards, and stock or other stock-based awards. The 2019 Plan mandates that all lapsed, forfeited, expired, terminated, cancelled and withheld shares, including those from the predecessor plan, be returned to the 2019 Plan and made available for issuance. The 2019 Plan originally authorized 2.5&#160;million shares of the Company's Class A common stock for issuance. As of June&#160;30, 2022, there were 1.5 million shares of Class A common stock available for issuance under the 2019 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three and six months ended June&#160;30, 2022, the Company recorded stock-based compensation expense of $0.2 million and $0.4 million, respectively. During the three and six months ended June 30, 2021, the Company recorded stock-based compensation expense of $0.1 million and $0.3 million, respectively. Stock-based compensation costs are included in selling, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;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;general, and administrative expense on the Company's consolidated statements of operations. As of June&#160;30, 2022, there was $1.0 million of total unrecognized stock-based compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock unit (&#x201c;RSU&#x201d;) awards granted to employees are subject to continued employment and generally vest in four annual installments over the four years period following the grant dates. The Company also grants certain RSU awards to management that contain additional vesting conditions tied directly to a defined performance metric for the Company (&#x201c;PSUs&#x201d;). The actual number of PSUs that will vest can range from 60% to 120% of the original grant target amount, depending upon actual Company performance below or above the established performance metric targets. The Company estimates performance in relation to the defined targets when calculating the related stock-based compensation expense. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes all restricted stock unit activity (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:66.810%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.652%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.340%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.913%"/&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:700;line-height:100%"&gt;RSUs&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average Grant&#160;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&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;847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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.28&#160;&lt;/span&gt;&lt;/td&gt;&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 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;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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 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;Released&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;(223)&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.64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/Forfeited&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;(133)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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;710&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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.97&#160;&lt;/span&gt;&lt;/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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-qualified stock options generally expire 10 years after the grant date and, except under certain conditions, the options are subject to continued employment and vest in four annual installments over the four-year period following the grant dates.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes all stock option activity (in thousands, except per share data and time periods):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.667%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.273%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.667%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.273%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.667%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.554%"/&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:700;line-height:100%"&gt;Options&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&#160;(Years)&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&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;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 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:center;vertical-align: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.7&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;998&#160;&lt;/span&gt;&lt;/td&gt;&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 7pt;text-align:left;vertical-align: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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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="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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(60)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2022&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;215&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;3.19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:center;vertical-align: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.0&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;429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Exercisable as of June&#160;30, 2022&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;209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;3.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:center;vertical-align: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.0&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;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;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i54f1364bd320414b8dd519163de58c54_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMTg0_cd17b588-a424-43d0-b467-df408186e284"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i817cfe82b6a342e988de9e9cff0e13b0_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMTg0_e823560c-4cf0-4fdd-a336-71b71ccd143b"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <chci:CommonStockNumberOfVotesPerShare
      contextRef="i817cfe82b6a342e988de9e9cff0e13b0_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTAy_5b3a16f5-09c1-44fe-b086-68fb6465233d"
      unitRef="vote">1</chci:CommonStockNumberOfVotesPerShare>
    <chci:CommonStockNumberOfVotesPerShare
      contextRef="i54f1364bd320414b8dd519163de58c54_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTcy_ac1368bf-9ca1-4316-b150-9dddaa30fa2b"
      unitRef="vote">15</chci:CommonStockNumberOfVotesPerShare>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="i81bd303d63914ffaa2b760d7c16712a9_D20220613-20220613"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODI0ODcy_818df261-96d2-44a8-940a-e31920c1af45"
      unitRef="shares">1000000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="i5905199d3c9a45ab8630c6aabf3040c4_D20220613-20220613"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODI0ODk0_36435a2e-8fc9-4c89-b154-b3f8531e369b"
      unitRef="usd">4000000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:PreferredStockIncludingAdditionalPaidInCapitalNetOfDiscount
      contextRef="ib7f51855c5b44e1d9ed9835b22a4ee8e_I20220613"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODI0OTEz_6ce67878-bc34-454b-85ca-ded69dcb4c72"
      unitRef="usd">10300000</us-gaap:PreferredStockIncludingAdditionalPaidInCapitalNetOfDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODI0OTMx_1ae9c687-b310-4f02-8adb-caf46e1589a1"
      unitRef="usd">2000000</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODI0OTMx_d266dd45-b3cf-41ec-a104-1cd227e84a13"
      unitRef="usd">2000000</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionPremium
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODI0OTQ5_11f3374e-cd8e-405e-a964-664ae8795c89"
      unitRef="usd">8300000</us-gaap:PreferredStockRedemptionPremium>
    <us-gaap:PreferredStockRedemptionPremium
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODI0OTQ5_f147af5d-6d9e-4c22-9dc4-2d9edd9733df"
      unitRef="usd">8300000</us-gaap:PreferredStockRedemptionPremium>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="icd7ab7234ce54c16a68a8cd4c03d2890_I20190212"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMTkzNQ_61b7825b-d2ad-448b-9ffd-03c0cf51de69"
      unitRef="shares">2500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ic4d3a5c8ff9547a0b57c8a15536f5185_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODE3Nzg4_4fde4af9-ace8-4634-8b97-15bcc79603b8"
      unitRef="shares">1500000</us-gaap:CommonStockSharesIssued>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODE3Nzk2_20922a2a-f0b2-41d4-8fce-72641af93f1d"
      unitRef="usd">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODE3ODAy_4f1a4700-c52d-45d4-b65d-90ad884d890e"
      unitRef="usd">400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODE3ODEx_ec3dd0a7-12aa-4348-8cc0-31a0984a50b9"
      unitRef="usd">100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODE3ODIw_773f8fce-df47-440f-a5e1-48204f3e37c8"
      unitRef="usd">300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfNTQ5NzU1ODE3ODI2_e9f0b61f-9121-47bf-ba02-e4fbddd49927"
      unitRef="usd">1000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <chci:ShareBasedPaymentArrangementNumberOfAnnualInstallments
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMjYxNQ_89efccaa-8a13-4271-924a-5890b1ab797f"
      unitRef="installment">4</chci:ShareBasedPaymentArrangementNumberOfAnnualInstallments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMjY0Nw_5548aa54-e2ee-4018-ab51-f0600d822873">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <chci:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRangePercentage
      contextRef="i84377dca862848df96404817ad47a47d_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMjkxMg_879e8fe1-313b-4d5c-86d0-0bc622d6ba18"
      unitRef="number">0.60</chci:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRangePercentage>
    <chci:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRangePercentage
      contextRef="ifbad0cd6eac04abd9e468d7794f6acb5_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMjkxOA_dab225a0-3c0b-4c99-bcc6-e6bcc4f8c7ce"
      unitRef="number">1.20</chci:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRangePercentage>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMzY2OQ_bf64af45-5ac3-4328-807c-386272875b27">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes all restricted stock unit activity (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:66.810%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.652%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.340%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.913%"/&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:700;line-height:100%"&gt;RSUs&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average Grant&#160;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&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;847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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.28&#160;&lt;/span&gt;&lt;/td&gt;&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 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;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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 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;Released&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;(223)&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.64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/Forfeited&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;(133)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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;710&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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.97&#160;&lt;/span&gt;&lt;/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:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i30fc75cf522d4845a9f2b8da09900259_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfMS0xLTEtMS0zNDQ1Mg_31de51d1-f7f7-4eb2-b422-24c5c9db9176"
      unitRef="shares">847000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i30fc75cf522d4845a9f2b8da09900259_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfMS0zLTEtMS0zNDQ1Mg_bea076c5-4d32-4298-b1af-14c06dfa966c"
      unitRef="usdPerShare">2.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfMi0xLTEtMS0zNDQ1Mg_7dfca81f-8ec1-4810-bace-ad9e08d43cd1"
      unitRef="shares">219000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfMi0zLTEtMS0zNDQ1Mg_ad12d2b1-19b6-45a6-97d9-d13dcbb3b389"
      unitRef="usdPerShare">4.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfNS0xLTEtMS0zNDQ1Mg_5dd49adf-e8ad-456c-8751-963923147b99"
      unitRef="shares">223000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfNS0zLTEtMS0zNDQ1Mg_49aec767-5e56-474d-b2bb-14cd1724055a"
      unitRef="usdPerShare">2.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfNi0xLTEtMS0zNDQ1Mg_774079a6-8d91-41ef-9ab0-6ea92255daba"
      unitRef="shares">133000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i01392fca949e405b87698326fc255e90_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfNi0zLTEtMS0zNDQ1Mg_87f3df9f-4a8f-46c6-be44-cb6832ca2fd6"
      unitRef="usdPerShare">2.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ifd6569a1872b432cbca3be3ea72ff07d_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfNy0xLTEtMS0zNDQ1Mg_1d991cd5-8361-4050-8b58-a7ed9be04bd1"
      unitRef="shares">710000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ifd6569a1872b432cbca3be3ea72ff07d_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmMyY2NiYjM3MzFkZTQxYmQ4NzQ0ZmZmNmZhYzM4ZTM5L3RhYmxlcmFuZ2U6YzJjY2JiMzczMWRlNDFiZDg3NDRmZmY2ZmFjMzhlMzlfNy0zLTEtMS0zNDQ1Mg_251d504b-20b2-4ee8-a91b-47ed5fa27d4f"
      unitRef="usdPerShare">2.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i3f345d12c3504263a3d2f407a9e7ff5c_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMzM1OA_1e4c2a14-6329-4578-b585-84a88c45c035">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <chci:ShareBasedPaymentArrangementNumberOfAnnualInstallments
      contextRef="i3f345d12c3504263a3d2f407a9e7ff5c_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMzQ4MA_127a0c81-79d5-4e49-92ec-b957785e8d0e"
      unitRef="installment">4</chci:ShareBasedPaymentArrangementNumberOfAnnualInstallments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i3f345d12c3504263a3d2f407a9e7ff5c_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMzY3MA_ba0a7c40-6009-40a2-b4e7-bfa1a346260e">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RleHRyZWdpb246YjUwODk1ODQwYjJmNDVlODk4YmQyNThmNDVhM2QzZmRfMzY3MQ_a744fe46-1df0-4d59-b510-87997d7c0e29">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes all stock option activity (in thousands, except per share data and time periods):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.667%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.273%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.667%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.273%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.667%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.554%"/&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:700;line-height:100%"&gt;Options&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&#160;(Years)&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&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;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 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:center;vertical-align: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.7&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;998&#160;&lt;/span&gt;&lt;/td&gt;&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 7pt;text-align:left;vertical-align: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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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="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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(60)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2022&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;215&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;3.19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:center;vertical-align: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.0&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;429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Exercisable as of June&#160;30, 2022&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;209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;3.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:center;vertical-align: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.0&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;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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMS0xLTEtMS0zNDQ1Mg_1be120f1-e74a-4e7a-88f9-2465e7b1ddd7"
      unitRef="shares">397000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMS0zLTEtMS0zNDQ1Mg_32d932bc-2a08-4ae1-b777-6f91c6788270"
      unitRef="usdPerShare">2.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i5f89d142ce2a42b983930e6e26bea70e_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMS01LTEtMS0zNDQ1Mg_e85cd967-8d20-4d53-adfe-c0f638eb0c2d">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i276478b5349d43a1b9ee4da6c9e33e94_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMS03LTEtMS0zNDQ1Mg_968ff7c4-e9a6-477f-b5ae-c7c17a7ff60d"
      unitRef="usd">998000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMi0xLTEtMS0zNDQ1Mg_affe5cd3-5359-4f6d-be6d-4acb2fb8aa2c"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMi0zLTEtMS0zNDQ1Mg_bdb3b360-3ce2-4f57-a81f-ce45968ce20a"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMy0xLTEtMS0zNDQ1Mg_0196f3a5-d7eb-43e7-b47d-b0e2019b3f88"
      unitRef="shares">119000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfMy0zLTEtMS0zNDQ1Mg_8d79895d-5a61-468c-893d-cbbf04301d77"
      unitRef="usdPerShare">1.87</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNC0xLTEtMS0zNDQ1Mg_3a1a5902-5f45-4f67-8461-b42ec94d03d8"
      unitRef="shares">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNC0zLTEtMS0zNDQ1Mg_db197501-fcfb-4ae5-9b6a-3a6c656efa58"
      unitRef="usdPerShare">2.24</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNS0xLTEtMS0zNDQ1Mg_163195ee-2ce3-442c-b6dd-bc885abefe9d"
      unitRef="shares">60000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNS0zLTEtMS0zNDQ1Mg_458a86e7-cca1-4a05-90b4-77c80464ae63"
      unitRef="usdPerShare">3.97</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNi0xLTEtMS0zNDQ1Mg_0d9e62ff-f57a-4fb7-b8f0-f82bed5f4457"
      unitRef="shares">215000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNi0zLTEtMS0zNDQ1Mg_0f2d8a3b-2925-4a82-af13-5e83ff90e9a5"
      unitRef="usdPerShare">3.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNi01LTEtMS0zNDQ1Mg_1c7bc66c-2d02-4dce-96bc-e9694e736a70">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNi03LTEtMS0zNDQ1Mg_ae50f765-833d-4dfb-884e-089b47796964"
      unitRef="usd">429000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNy0xLTEtMS0zNDQ1Mg_e52df92a-e09f-41b5-a355-21c06fb926d0"
      unitRef="shares">209000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNy0zLTEtMS0zNDQ1Mg_58914acd-8bad-4658-a4fd-9819f44e9ecd"
      unitRef="usdPerShare">3.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNy01LTEtMS0zNDQ1Mg_2bad71c1-e37a-49c1-8b45-9b6d0c2da780">P4Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="ia036bdac3eb64cb791f1e2a1bb457fd1_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF81NS9mcmFnOmI1MDg5NTg0MGIyZjQ1ZTg5OGJkMjU4ZjQ1YTNkM2ZkL3RhYmxlOmYwZjdlYTcyYmFhOTQ5YzdhMDdmM2I4NzllNWE0YTNhL3RhYmxlcmFuZ2U6ZjBmN2VhNzJiYWE5NDljN2EwN2YzYjg3OWU1YTRhM2FfNy03LTEtMS0zNDQ1Mg_a57c6cee-2255-412c-85da-0c4f6a0ed941"
      unitRef="usd">413000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RleHRyZWdpb246MDY4NDhiNGE5MzcxNGFiOGI3ZGFiODliZDM0NTk0ZmVfMjc1_126cd2cc-90dd-495f-8e6a-cb69e8241888">Revenue&lt;div style="margin-top:6pt"&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 Company's revenue for the three and six months ended June&#160;30, 2022 and 2021 was generated in the United States. The following tables summarize the Company&#x2019;s revenue by line of business, customer type, and contract type (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.954%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.181%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.433%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Revenue by Line of Business&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;/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;Asset management&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;9,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Property management&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,192&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,712&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,323&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;3,342&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;Parking management&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;737&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;355&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,340&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;672&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;8,467&#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;6,324&#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;17,198&#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;13,164&#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:12pt;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.954%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.181%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.433%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Revenue by Customer Type&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;/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;Related party&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;8,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,928&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;13,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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;180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,467&#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;6,324&#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;17,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,164&#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:12pt;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.954%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.181%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.433%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Revenue by Contract Type&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;/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;Fixed-price&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;3,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Cost-plus&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,586&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,925&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Time and material&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;8,467&#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;6,324&#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;17,198&#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;13,164&#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:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RleHRyZWdpb246MDY4NDhiNGE5MzcxNGFiOGI3ZGFiODliZDM0NTk0ZmVfMjc2_aec6b00c-30ce-404f-ad61-82909b02f25f">The following tables summarize the Company&#x2019;s revenue by line of business, customer type, and contract type (in thousands): &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.954%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.181%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.433%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Revenue by Line of Business&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;/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;Asset management&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;9,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Property management&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,192&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,712&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,323&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;3,342&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;Parking management&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;737&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;355&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,340&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;672&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;8,467&#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;6,324&#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;17,198&#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;13,164&#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 style="margin-top:12pt;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.954%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.181%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.433%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Revenue by Customer Type&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;/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;Related party&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;8,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,928&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;13,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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;180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,467&#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;6,324&#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;17,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,164&#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:12pt;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.954%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.181%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.433%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three&#160;Months&#160;Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Revenue by Contract Type&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;/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;Fixed-price&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;3,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Cost-plus&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,586&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,925&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Time and material&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;8,467&#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;6,324&#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;17,198&#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;13,164&#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:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8359b0f0a6c94b8899921eece6c5d048_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfMy0xLTEtMS0zNDQ1Mg_7f9e08b7-f572-4d40-bd7d-f2b2aff0ac28"
      unitRef="usd">5538000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if3bd5c77b75b4b29a4b8e111b895e87e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfMy0zLTEtMS0zNDQ1Mg_8d025edc-8fdf-4427-b9f1-3120051d68f6"
      unitRef="usd">4257000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i75125299badd4b66bb79004419009d26_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfMy01LTEtMS0zNDQ1Mg_057090d2-5188-47ed-a96d-d793589cbb77"
      unitRef="usd">11535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i833f6f86b5de4a86a29bade2628c2ee7_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfMy03LTEtMS0zNDQ1Mg_a5d5047b-d6f1-4248-82c9-bfeaac43b771"
      unitRef="usd">9150000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05123f7fd3434d049097724de25597eb_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNC0xLTEtMS0zNDQ1Mg_5f76ea21-096c-4d44-b2a6-59c64a612ccd"
      unitRef="usd">2192000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i00e6d9d2a9f044c8b7d1dae89b44b3f2_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNC0zLTEtMS0zNDQ1Mg_9262cf13-056b-4445-a465-ac36957b746e"
      unitRef="usd">1712000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i46e198f51091482fb7b23bff75e9b9d7_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNC01LTEtMS0zNDQ1Mg_b1ce85a7-371b-4391-9c40-cd0a1587f800"
      unitRef="usd">4323000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i560f69ee937c4d8cbed5afe799eeeece_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNC03LTEtMS0zNDQ1Mg_301a977f-54c9-4e2d-9550-78308f02de46"
      unitRef="usd">3342000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic53e7d0e7711457697237d2aebad05b2_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNS0xLTEtMS0zNDQ1Mg_afaa25c4-1c40-4541-9c05-a2fc60f587ed"
      unitRef="usd">737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifffcacec55154e978d2b4fb17d06664f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNS0zLTEtMS0zNDQ1Mg_e5840b64-fef9-4204-a519-54a0cff36755"
      unitRef="usd">355000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i59938da5879749f5873dffe619fd4e36_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNS01LTEtMS0zNDQ1Mg_ffa0c982-1b97-417c-802b-49808ce5f4be"
      unitRef="usd">1340000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3611184fb7114795a24c675a8faeeadc_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNS03LTEtMS0zNDQ1Mg_c0128075-db82-44c5-9b6b-fdfbc706e717"
      unitRef="usd">672000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNi0xLTEtMS0zNDQ1Mg_d8b3ec4e-3862-4277-9b55-30d3b053b3cc"
      unitRef="usd">8467000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNi0zLTEtMS0zNDQ1Mg_09400985-4602-4fb6-a24f-df899767cb2e"
      unitRef="usd">6324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNi01LTEtMS0zNDQ1Mg_8f30c0a2-1f49-486d-823d-9a50dcdfe6bf"
      unitRef="usd">17198000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjUzMzAwYjA3YjI3YjQyMzRiZDg5ODdmZDE1NGY2ZjBlL3RhYmxlcmFuZ2U6NTMzMDBiMDdiMjdiNDIzNGJkODk4N2ZkMTU0ZjZmMGVfNi03LTEtMS0zNDQ1Mg_376dd41e-2e21-46f6-87ef-60bcb0d5a8b0"
      unitRef="usd">13164000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2a66f3b508f046bc873d7619fe328921_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfMy0xLTEtMS0zNDQ1Mg_4435c87b-94dd-4476-8ff1-a374a3fa7a3f"
      unitRef="usd">8287000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3bb21544f1b9423a8480bd27b236ef8b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfMy0zLTEtMS0zNDQ1Mg_34a98e70-2f0c-41e4-b755-98337b76a5cb"
      unitRef="usd">6268000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if3ac36015357449187b2e5a1731eeacb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfMy01LTEtMS0zNDQ1Mg_d589440c-a84b-4138-b3ff-dd32a16161b5"
      unitRef="usd">16928000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i55da4d6c098340a69705050200c87047_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfMy03LTEtMS0zNDQ1Mg_45b8c1df-10bc-4063-824b-591f9cc96423"
      unitRef="usd">13093000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2d16fdf7c539414e8b77dddad167e714_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNC0xLTEtMS0zNDQ1Mg_641fccb0-6bd8-48f9-8853-70aef7cc8700"
      unitRef="usd">180000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i957fd27193b04ec2bf27d4ea6de39d1b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNC0zLTEtMS0zNDQ1Mg_11dc605c-b135-4a1d-8410-a185717a9484"
      unitRef="usd">56000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i53ca02059eea4ca8b1fe050c8f5f319d_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNC01LTEtMS0zNDQ1Mg_656b1b3b-f957-43ed-9160-fe9b2ceb1c9c"
      unitRef="usd">270000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6e9709dd8848439d98ceb22e5a7a7664_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNC03LTEtMS0zNDQ1Mg_c610375c-877a-4519-9cfc-08f15b44d74f"
      unitRef="usd">71000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNS0xLTEtMS0zNDQ1Mg_1e16d3f8-b679-4baa-bf56-9e986fe7a996"
      unitRef="usd">8467000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNS0zLTEtMS0zNDQ1Mg_43a0b93c-31e1-4148-a458-e6c11f4a34d1"
      unitRef="usd">6324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNS01LTEtMS0zNDQ1Mg_db7fdec0-13e8-449d-a964-d725adac1792"
      unitRef="usd">17198000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjgwMDgyOGVkZTJjMjRhMDNiYjY1ZWFiYTIyZWFlNDljL3RhYmxlcmFuZ2U6ODAwODI4ZWRlMmMyNGEwM2JiNjVlYWJhMjJlYWU0OWNfNS03LTEtMS0zNDQ1Mg_04b60d5d-2675-44d1-84c8-a529e9a8c7f1"
      unitRef="usd">13164000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i23274410a964440885da05b615603696_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfMy0xLTEtMS0zNDQ1Mg_86cc5be4-4b08-4fb2-a24a-c98514f365a6"
      unitRef="usd">1652000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i61691a0e99044e8fbe30bb1a61a007a1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfMy0zLTEtMS0zNDQ1Mg_01ebd768-e4a9-4993-8ac9-c7d30c85e16e"
      unitRef="usd">873000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i59f32692583744bdad2286da7c98340a_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfMy01LTEtMS0zNDQ1Mg_0da333b7-0b7f-49fb-9f9a-987628d600db"
      unitRef="usd">3539000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic24bbb48747e46e0a39e77caf51908b6_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfMy03LTEtMS0zNDQ1Mg_efca00e0-5ed8-43ca-94ff-3c9ddc38cffd"
      unitRef="usd">1688000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4fec63d2283345d3817d35896c219dc4_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNC0xLTEtMS0zNDQ1Mg_2af64133-dee9-45bd-897d-8674795e8685"
      unitRef="usd">4586000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia58c5b2ead9f46a480961865151be4c5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNC0zLTEtMS0zNDQ1Mg_0f801731-5715-40b8-a070-1d3528bb9d04"
      unitRef="usd">3925000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id64797c9361c48cdae0b0b5cc86d0225_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNC01LTEtMS0zNDQ1Mg_6bacc2ca-d7f4-4138-8b33-a9a29467731f"
      unitRef="usd">9356000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1846b8d7a38f40dc8be0c09fe4274512_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNC03LTEtMS0zNDQ1Mg_a2840678-b24d-49b3-9bce-64057c9b7442"
      unitRef="usd">8215000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i36d829b9f34a4eff87e8205ca768288d_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNS0xLTEtMS0zNDQ1Mg_603389ce-dcd7-48cb-b134-eb28b61a7747"
      unitRef="usd">2229000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibe4c429b936a4c80969e96d1c884266a_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNS0zLTEtMS0zNDQ1Mg_558aa021-e0f3-46d0-a88a-01802f8d4cf4"
      unitRef="usd">1526000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibcca5a6d369144ca9341153e0d657366_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNS01LTEtMS0zNDQ1Mg_96c79156-2749-48e5-b97b-3b32abba8005"
      unitRef="usd">4303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3167e9eca975430c9ad4ba9963d26d64_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNS03LTEtMS0zNDQ1Mg_66996984-bffc-42a6-b670-7a76536ff5fc"
      unitRef="usd">3261000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNi0xLTEtMS0zNDQ1Mg_d6fe0a1a-13df-4288-b954-4eb85c554099"
      unitRef="usd">8467000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNi0zLTEtMS0zNDQ1Mg_9bce25d5-7c10-40b2-b7f7-c52eba27af9c"
      unitRef="usd">6324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNi01LTEtMS0zNDQ1Mg_8ec37560-ca16-4682-976b-fff67bc4a14c"
      unitRef="usd">17198000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82MS9mcmFnOjA2ODQ4YjRhOTM3MTRhYjhiN2RhYjg5YmQzNDU5NGZlL3RhYmxlOjk4MWE3YTBjYjE4OTRhMDQ4ZDEyZTcwNjAwYTJhMzliL3RhYmxlcmFuZ2U6OTgxYTdhMGNiMTg5NGEwNDhkMTJlNzA2MDBhMmEzOWJfNi03LTEtMS0zNDQ1Mg_f285cdc8-f879-4769-9fb7-e251e1a1a22f"
      unitRef="usd">13164000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82NC9mcmFnOmVmNTAzMGZkYzAyNDRiODE4ZWU1M2M0ZmJkNTljNjg0L3RleHRyZWdpb246ZWY1MDMwZmRjMDI0NGI4MThlZTUzYzRmYmQ1OWM2ODRfMTk3OA_afe0cd42-6986-4d2e-8b82-5ac0e0faf557">Income Taxes&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For interim periods, we recognize an income tax provision (benefit) based on our estimated annual effective tax rate expected for the entire fiscal year. The interim annual estimated effective tax rate is based on the statutory tax rates then in effect, as adjusted for estimated changes in temporary and estimated permanent differences, and excludes certain discrete items whose tax effect, when material, is recognized in the interim period in which they occur. These changes in temporary differences, permanent differences, and discrete items result in variances to the effective tax rate from period to period. We also have elected to exclude the impacts from significant pre-tax, non-recognized subsequent events from our interim estimated annual effective rate until the period in which they occur. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred income taxes reflect the net tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. Prior to 2021, the Company had recorded valuation allowances for certain tax attributes and deferred tax assets due the existence of sufficient uncertainty regarding the future realization of those deferred tax assets through future taxable income. In June 2021, based on its recent financial performance and current forecasts of future operating results, the Company determined that it was more likely than not that a portion of the deferred tax assets related to its net operating loss carryforwards would be utilized in future periods. &lt;/span&gt;&lt;/div&gt;For the three months ended June&#160;30, 2022 and 2021, the Company recognized a tax provision of $0.4&#160;million and a tax benefit of $11.3&#160;million, respectively. For the six months ended June&#160;30, 2022 and 2021, the Company recognized tax benefits of $0.1&#160;million and $11.3&#160;million, respectively. The recognized tax benefits from these periods were due to the tax impact of deferred tax asset valuation allowance releases in the period. These recognized tax benefits were supported by the Company's recent trend of positive net income from continuing operations and expectation that current operations will continue to generate future taxable income.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82NC9mcmFnOmVmNTAzMGZkYzAyNDRiODE4ZWU1M2M0ZmJkNTljNjg0L3RleHRyZWdpb246ZWY1MDMwZmRjMDI0NGI4MThlZTUzYzRmYmQ1OWM2ODRfMjc0ODc3OTA3MjYwNQ_83fbc8bc-f9fa-4eda-9639-a0fcb9abe93b"
      unitRef="usd">400000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82NC9mcmFnOmVmNTAzMGZkYzAyNDRiODE4ZWU1M2M0ZmJkNTljNjg0L3RleHRyZWdpb246ZWY1MDMwZmRjMDI0NGI4MThlZTUzYzRmYmQ1OWM2ODRfMjc0ODc3OTA3MjYzMw_e17f49b1-ec50-413e-a206-c859b2be9957"
      unitRef="usd">-11300000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82NC9mcmFnOmVmNTAzMGZkYzAyNDRiODE4ZWU1M2M0ZmJkNTljNjg0L3RleHRyZWdpb246ZWY1MDMwZmRjMDI0NGI4MThlZTUzYzRmYmQ1OWM2ODRfMjc0ODc3OTA3MjY2MQ_2a78b89f-fa33-45b2-98cb-20e12b1035e7"
      unitRef="usd">-100000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82NC9mcmFnOmVmNTAzMGZkYzAyNDRiODE4ZWU1M2M0ZmJkNTljNjg0L3RleHRyZWdpb246ZWY1MDMwZmRjMDI0NGI4MThlZTUzYzRmYmQ1OWM2ODRfMjc0ODc3OTA3MjY4OQ_f5b7fe31-831e-44f6-b52d-e44b510e7fd6"
      unitRef="usd">-11300000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RleHRyZWdpb246MzhkZmQwM2ExZTAzNDk5MmEwMjMyZmUwN2I5MDI5NjRfMzQ4_84c635ad-1f24-41be-9936-4eef28f6f417">Net Income (Loss) Per ShareThe following table sets forth the calculation of basic and diluted net income (loss) per share (in thousands, except per share data):&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.877%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.524%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.401%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Numerator:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from continuing operations - Basic and Diluted&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;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 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,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;2,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;12,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Impact of Series C preferred stock redemption &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;2,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from continuing operations attributable to common stockholders - Basic and Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from discontinued operations - Basic and Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) attributable to common shareholders - Basic and Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-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="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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-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="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,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-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="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,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 13pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Denominator:&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;/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 common shares outstanding - Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;8,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of common share equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Weighted-average common shares outstanding - Diluted&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;9,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;9,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;9,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;9,014&#160;&lt;/span&gt;&lt;/td&gt;&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 #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net income (loss) 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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic - Continuing operations&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;0.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;0.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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 - Discontinued operations&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;&#x2014;&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.05)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.03)&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.07)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic net income (loss) per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.32&#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 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;1.37&#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 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.53&#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 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;1.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 13pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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 - Continuing operations&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;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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;0.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted - Discontinued operations&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;&#x2014;&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.05)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.03)&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.07)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted net income (loss) per share&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.24&#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;0.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.27&#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:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following common share equivalents have been excluded from the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.637%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.216%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.489%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2022&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="background-color:#ffffff;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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;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 options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116&#160;&lt;/span&gt;&lt;/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:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RleHRyZWdpb246MzhkZmQwM2ExZTAzNDk5MmEwMjMyZmUwN2I5MDI5NjRfMzQ5_7d8ad107-6afd-4f30-9e4f-6c35b16a38e5">The following table sets forth the calculation of basic and diluted net income (loss) per share (in thousands, except per share data):&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:44.877%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.524%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.949%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.401%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Numerator:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from continuing operations - Basic and Diluted&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;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 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,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;2,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;12,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Impact of Series C preferred stock redemption &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;2,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from continuing operations attributable to common stockholders - Basic and Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from discontinued operations - Basic and Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) attributable to common shareholders - Basic and Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-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="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,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-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="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,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-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="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,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 13pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Denominator:&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;/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 common shares outstanding - Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;8,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of common share equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Weighted-average common shares outstanding - Diluted&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;9,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;9,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;9,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;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;9,014&#160;&lt;/span&gt;&lt;/td&gt;&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 #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net income (loss) 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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic - Continuing operations&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;0.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;0.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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 - Discontinued operations&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;&#x2014;&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.05)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.03)&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.07)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic net income (loss) per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.32&#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 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;1.37&#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 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.53&#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 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;1.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 13pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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 - Continuing operations&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;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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-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;0.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted - Discontinued operations&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;&#x2014;&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.05)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.03)&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.07)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted net income (loss) per share&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;0.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.24&#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;0.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.27&#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;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMy0xLTEtMS0zNDQ1Mg_3cb758d3-dae0-4662-8785-f36df0b287a7"
      unitRef="usd">714000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMy0zLTEtMS0zNDQ1Mg_e491c39a-4e59-4a9b-9c1c-4b035435eb0c"
      unitRef="usd">11649000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMy01LTEtMS0zNDQ1Mg_ba737f48-cb3e-4bbe-a8d2-e7085cf1b796"
      unitRef="usd">2728000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMy03LTEtMS0zNDQ1Mg_a7ba949f-7fc4-4a98-aba1-639ec95b5b00"
      unitRef="usd">12039000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC0xLTEtMS0zNTk2Ng_433fe9c8-7f4e-4fcb-8937-99c40cb2d666"
      unitRef="usd">2046000</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC0zLTEtMS0zNTk2Ng_0a393f11-d99b-489b-99d2-98c6735afd71"
      unitRef="usd">0</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC01LTEtMS0zNTk2Ng_a49b331c-d183-42da-ab86-6bac411ee303"
      unitRef="usd">2046000</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:PreferredStockRedemptionDiscount
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC03LTEtMS0zNTk2Ng_c3540b7d-a707-4ddb-8233-3ddb31e940dd"
      unitRef="usd">0</us-gaap:PreferredStockRedemptionDiscount>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS0xLTEtMS0zNTk2Ng_176297d4-270c-49a4-b0d6-66557b3b4677"
      unitRef="usd">2760000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS0xLTEtMS0zNTk2Ng_3ca03512-e230-4174-a46e-84267196d8e5"
      unitRef="usd">2760000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS0zLTEtMS0zNTk2Ng_b1d15872-8e47-416b-8766-cfa6ec69b482"
      unitRef="usd">11649000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS0zLTEtMS0zNTk2Ng_bf2de853-fe94-46e1-810b-cb2e3e5e9c76"
      unitRef="usd">11649000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS01LTEtMS0zNTk2Ng_68b708c4-ef81-4845-a6bc-d37bed860d85"
      unitRef="usd">4774000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS01LTEtMS0zNTk2Ng_c48e0246-11f0-4550-bc07-2a198c29d2e3"
      unitRef="usd">4774000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS03LTEtMS0zNTk2Ng_7f89516c-f450-467f-98f2-2980362a3d3e"
      unitRef="usd">12039000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersDiluted>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNS03LTEtMS0zNTk2Ng_c3903a20-1e11-4ab1-ba29-ac1352ae4f99"
      unitRef="usd">12039000</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC0xLTEtMS0zNDQ1Mg_a303d8f2-017c-4468-8397-84ea5378f5ed"
      unitRef="usd">-10000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC0zLTEtMS0zNDQ1Mg_8dd3f847-c235-470c-a5d1-8b902eddd525"
      unitRef="usd">-444000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC01LTEtMS0zNDQ1Mg_e21f009c-fe8b-4367-a316-bcdef894f988"
      unitRef="usd">-277000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNC03LTEtMS0zNDQ1Mg_427caadc-7c35-4f3c-8111-be97245ee05d"
      unitRef="usd">-587000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy0xLTEtMS0zNTk4MQ_2f12394c-35b0-4ac3-894b-15eeaed1c561"
      unitRef="usd">2750000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy0xLTEtMS0zNTk4MQ_4a95539f-10a8-42b7-acf5-b16e08d7c2e0"
      unitRef="usd">2750000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy0zLTEtMS0zNTk4MQ_24911444-6259-4664-a331-d7ecdbf2e95d"
      unitRef="usd">11205000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy0zLTEtMS0zNTk4MQ_fe540724-504b-4b9c-8fd3-4cd48f243bce"
      unitRef="usd">11205000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy01LTEtMS0zNTk4MQ_0e473a40-9bfa-40cf-b87b-53df5fb1c6ea"
      unitRef="usd">4497000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy01LTEtMS0zNTk4MQ_1e81a1a4-97c5-4ef3-86b1-a61a250ed00b"
      unitRef="usd">4497000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy03LTEtMS0zNTk4MQ_1225ecf1-e2f5-49dd-95c0-3f47c38b457e"
      unitRef="usd">11452000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy03LTEtMS0zNTk4MQ_1df14906-bf70-4e08-becc-e2106ee89f29"
      unitRef="usd">11452000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy0xLTEtMS0zNDQ1Mg_f32d9626-cd5f-47a8-b52a-3b2d27ad0e19"
      unitRef="shares">8599000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy0zLTEtMS0zNDQ1Mg_cd10c210-ab3e-4c3f-af31-d738a21c47ab"
      unitRef="shares">8215000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy01LTEtMS0zNDQ1Mg_b74a0d4e-3c44-48f9-9a19-1e60ac4d18cb"
      unitRef="shares">8470000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfNy03LTEtMS0zNDQ1Mg_2712359f-e0b7-4f1e-9903-febfe82a25be"
      unitRef="shares">8191000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOC0xLTEtMS0zNDQ1Mg_e1a14d22-a6c8-41f4-8eb3-cb087531e396"
      unitRef="shares">558000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOC0zLTEtMS0zNDQ1Mg_37dccb02-9b69-43ce-ac20-94514d3db504"
      unitRef="shares">846000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOC01LTEtMS0zNDQ1Mg_d43d5697-87a9-4ed6-9b5f-ff966367e355"
      unitRef="shares">563000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOC03LTEtMS0zNDQ1Mg_c69433c0-2971-4685-a85a-40d0b230ecf0"
      unitRef="shares">823000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOS0xLTEtMS0zNDQ1Mg_52d03546-b914-44dd-9b89-1937e4104747"
      unitRef="shares">9157000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOS0zLTEtMS0zNDQ1Mg_504876d9-fec8-4e7a-8544-f7bba260bdeb"
      unitRef="shares">9061000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOS01LTEtMS0zNDQ1Mg_8bcaf475-a3f2-4c86-a646-0b4e3b98a440"
      unitRef="shares">9033000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfOS03LTEtMS0zNDQ1Mg_e1e00a2a-68bd-41e0-b66b-c43add04e66b"
      unitRef="shares">9014000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTItMS0xLTEtMzQ0NTI_47848953-3f86-452d-a17d-aac0a4db436d"
      unitRef="usdPerShare">0.32</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTItMy0xLTEtMzQ0NTI_5e52525e-2fc1-4f55-8372-0fc904ebca2e"
      unitRef="usdPerShare">1.42</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTItNS0xLTEtMzQ0NTI_fe25d1ed-37ff-4619-b796-6a18c198aab8"
      unitRef="usdPerShare">0.56</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTItNy0xLTEtMzQ0NTI_f33ed412-2a35-4e3a-81a1-f028c9c3bd94"
      unitRef="usdPerShare">1.47</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTMtMS0xLTEtMzQ0NTI_1e47918d-0ce5-4267-a089-1886f6694deb"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTMtMy0xLTEtMzQ0NTI_71927cb1-ad8f-4648-af9d-a789505e5a99"
      unitRef="usdPerShare">-0.05</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTMtNS0xLTEtMzQ0NTI_3f76cf61-b605-4b98-b101-f2f594e9f55c"
      unitRef="usdPerShare">-0.03</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTMtNy0xLTEtMzQ0NTI_a160c526-14be-42f5-ac11-ce03e543f6bd"
      unitRef="usdPerShare">-0.07</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:EarningsPerShareBasic
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTQtMS0xLTEtMzQ0NTI_ff3c80bf-32a6-4307-8f71-5be7f5ea7407"
      unitRef="usdPerShare">0.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTQtMy0xLTEtMzQ0NTI_20e84b52-7e1a-435d-bc05-a0119e294d22"
      unitRef="usdPerShare">1.37</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTQtNS0xLTEtMzQ0NTI_8d63be52-6e6f-4487-b363-de4de5908376"
      unitRef="usdPerShare">0.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTQtNy0xLTEtMzQ0NTI_c525c8a9-0035-4ad3-a185-64fc61072d43"
      unitRef="usdPerShare">1.40</us-gaap:EarningsPerShareBasic>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTYtMS0xLTEtMzQ0NTI_fa6e454b-0fac-49b3-a9cb-df6eb80de013"
      unitRef="usdPerShare">0.30</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTYtMy0xLTEtMzQ0NTI_739b9993-b061-4809-aa48-8c6b36320f2a"
      unitRef="usdPerShare">1.29</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTYtNS0xLTEtMzQ0NTI_35b9980f-1cfc-4024-94cf-2d67e100afbc"
      unitRef="usdPerShare">0.53</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTYtNy0xLTEtMzQ0NTI_2d2f2bd3-69d5-4415-b167-6e0b867bd552"
      unitRef="usdPerShare">1.34</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTctMS0xLTEtMzQ0NTI_ad7b0e51-6ba0-4088-9917-2d6bf6265ab5"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTctMy0xLTEtMzQ0NTI_262e6809-945b-4fe7-8a74-994ae3dbbc87"
      unitRef="usdPerShare">-0.05</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTctNS0xLTEtMzQ0NTI_f934fcf4-5393-4bad-990c-f220e7db6538"
      unitRef="usdPerShare">-0.03</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTctNy0xLTEtMzQ0NTI_ddcb8793-550b-4086-877f-c0551b30a7f1"
      unitRef="usdPerShare">-0.07</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i17136f206b304d5c9c0d3f65695c089a_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTgtMS0xLTEtMzQ0NTI_48a1c013-4baf-4eb4-9c7b-8c52217b33db"
      unitRef="usdPerShare">0.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i69191505afaa43b4b12ddd4f8d11e270_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTgtMy0xLTEtMzQ0NTI_7804e07e-0f92-4868-91c3-4df90a91cf21"
      unitRef="usdPerShare">1.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTgtNS0xLTEtMzQ0NTI_ad4a8d3f-4237-4d8f-bd3d-8462cd644ba1"
      unitRef="usdPerShare">0.50</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i5ff6411813a54c86a539995a3f65b622_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjg0Mjk5NzIyNDQ4MTQ3ZGU4Yzk5ODJiZjQzM2Y0NGY1L3RhYmxlcmFuZ2U6ODQyOTk3MjI0NDgxNDdkZThjOTk4MmJmNDMzZjQ0ZjVfMTgtNy0xLTEtMzQ0NTI_96019c98-18b8-40e6-96bd-ac8e6c524722"
      unitRef="usdPerShare">1.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RleHRyZWdpb246MzhkZmQwM2ExZTAzNDk5MmEwMjMyZmUwN2I5MDI5NjRfMzUw_3a26fa40-7676-47c2-8c3b-ac578a3dcada">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following common share equivalents have been excluded from the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.637%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.216%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.287%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.489%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended June&#160;30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June&#160;30,&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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2022&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="background-color:#ffffff;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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;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 options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116&#160;&lt;/span&gt;&lt;/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:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6a9be20524bc47e7bd8bd522aba6d55e_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMi0xLTEtMS0zNDQ1Mg_327a7a2f-11dc-4142-b6fa-13e0b5edf643"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ie4bee98bce79486aa6d85ae184f33eda_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMi0zLTEtMS0zNDQ1Mg_17828a30-64f7-4777-81d7-b16773804174"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i953d6c3682624d489d5150f0fc536ae0_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMi01LTEtMS0zNDQ1Mg_ad9fffce-a9ea-43ba-924d-778242eb49ef"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i49c888a696594cd4906b21dd1e0ef7f7_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMi03LTEtMS0zNDQ1Mg_8f4eeeeb-45b8-423f-859b-04647aef59dc"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia4676f69f7b54239b3afff16a8024f6f_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMy0xLTEtMS0zNDQ1Mg_f13bf416-8ccf-4df6-85f1-5d3d00200727"
      unitRef="shares">29000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i43753f1d562444d7b492526a894a462b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMy0zLTEtMS0zNDQ1Mg_0f4a3229-5089-428c-91f4-fd41d3efe2ad"
      unitRef="shares">33000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i4421f721265841a28395cef80515909b_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMy01LTEtMS0zNDQ1Mg_577a72ee-4d28-43dc-90f6-f24e5b282335"
      unitRef="shares">28000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i7691a782c0654e178e8051207a63989f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfMy03LTEtMS0zNDQ1Mg_e218d21f-91eb-4abb-8e21-7ea06652fc53"
      unitRef="shares">39000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i7c9262a3fcda485095d5538dfe89b195_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfNC0xLTEtMS0zNDQ1Mg_21f3ad16-cf36-4280-930a-5a7ae0cf90f9"
      unitRef="shares">82000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i27c9232910a94f90ae666d9c6d28dfcf_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfNC0zLTEtMS0zNDQ1Mg_dfd81481-aa2a-41cb-ac17-c5e7dd29de7e"
      unitRef="shares">89000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ie153317e1e8846ef8e1faec01a55ef87_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfNC01LTEtMS0zNDQ1Mg_63b86757-2cce-4594-9237-bd89c900e61e"
      unitRef="shares">79000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i18fc8ebace8a411595ac5e0246ec461b_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF82Ny9mcmFnOjM4ZGZkMDNhMWUwMzQ5OTJhMDIzMmZlMDdiOTAyOTY0L3RhYmxlOjlkYzU4ZThmMmEwNzQwM2Q5MzRlODdiNmNiNTc0NmRkL3RhYmxlcmFuZ2U6OWRjNThlOGYyYTA3NDAzZDkzNGU4N2I2Y2I1NzQ2ZGRfNC03LTEtMS0zNDQ1Mg_a49e32dd-4c61-472f-86c3-6ff937030d1c"
      unitRef="shares">116000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfOTk1Mw_334fd0fd-dfe2-4348-8cb1-6bcfde2aa69e">Related Party Transactions&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Asset Management Agreements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 13, 2022, CHCI Asset Management, L.C. (&#x201c;CAM&#x201d;), an entity wholly owned by the Company, entered into a new master asset management agreement with CP (the &#x201c;2022 AMA&#x201d;) that superseded in its entirety the previous asset management agreement between CAM and CPRES dated April 30, 2019 (the &#x201c;2019 AMA&#x201d;). Entry into the 2022 AMA was unanimously approved by the independent directors of the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;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;Consistent with the structure of the 2019 AMA, the 2022 AMA engages CAM to manage and administer CP&#x2019;s commercial real estate portfolio (the "Anchor Portfolio") and the day to-day operations of CP and each property-owning subsidiary of CP (collectively, the &#x201c;CP Entities&#x201d;). CAM will provide investment advisory, development, and asset management services necessary to build out, stabilize and manage the Anchor Portfolio, which currently consists primarily of two of the larger transit-oriented, mixed-use developments located on Washington D.C. Metro&#x2019;s Silver Line (Reston Station and Loudoun Station) that are owned by CP Entities and ultimately controlled by Mr. Clemente.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the fee structures set forth in both the 2022 AMA and 2019 AMA, CAM is entitled to receive an annual payment equal to the greater of the "Cost-Plus Fee" or the "Market Rate Fee". The Cost-Plus Fee is equal to the sum of (i) the &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;comprehensive costs incurred by or for providing services to the Anchor Portfolio, (ii) the costs and expenses of the Company related to maintaining the listing of its shares on a securities exchange and complying with regulatory and reporting obligations of a public company, and (iii) a fixed annual payment of $1.0 million. The Market Rate Fee calculation is defined in the respective asset management agreements as the sum of the fees detailed in the following table: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.856%"&gt;&lt;tr&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022 AMA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019 AMA&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-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset Management Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Entitlement Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15% of total re-zoning costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Encompassed in Development and Construction Fee&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-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Development and Construction Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5% of development costs (excluding previously charged Entitlement Fees)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4% of development costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property Management Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisition Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% on first $50 million of purchase price; 0.5% above $50 million&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5% of purchase price&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-bottom:1pt solid #000;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Disposition Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% on first $50 million of sale price; 0.5% above $50 million&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5% of sale price&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to the annual payment of either the Market Rate Fee or the Cost-Plus Fee, CAM is also entitled on an annual basis to receive certain supplemental fees, as detailed for the respective asset management agreements in the following table: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.856%"&gt;&lt;tr&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;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:700;line-height:100%"&gt;2022 AMA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;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:700;line-height:100%"&gt;2019 AMA&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-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Incentive Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;When receiving Market Rate Fee:&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:100%"&gt;On a mark-to-market basis, equal to 20% of the imputed profit of certain real estate assets comprising the Anchor Portfolio for which a Triggering Event&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; has occurred, after calculating a compounding preferred return of 8% on CP invested capital (the &#x201c;Market Incentive Fee&#x201d;)&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:100%"&gt;When receiving the Cost-Plus Fee:&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:100%"&gt;On a mark-to-market basis, an incentive fee equal to 10% of the imputed profit of certain real estate assets comprising the Anchor Portfolio for which a Triggering Event&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; has occurred, after calculating a compounding preferred return of 8% on CP invested capital (the &#x201c;Base Incentive Fee&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10% of the free cash flow of each of the real estate assets comprising the Anchor Portfolio after calculating a compounding preferred return of 8% on CPRES invested capital &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investment Origination Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of raised capital &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of raised capital &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasing Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1/per sqft. for new leases and $0.50/per sqft. for lease renewals&#160;&#160; &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1/per sqft. for new leases and $0.50/ per sqft. for lease renewals&#160;&#160; &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loan Origination Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of any Financing Transaction or other commercially reasonable and mutually agreed upon fee&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of any Financing Transaction or other commercially reasonable and mutually agreed upon fee&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;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="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: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="9" 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;Triggering events determined annually as defined in the agreement, but generally as each managed asset is leased and stabilized. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;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 2022 AMA will terminate on January 1, 2035 (&#x201c;Initial Term&#x201d;), and will automatically renew for successive additional one year terms (each an &#x201c;Extension Term&#x201d;) unless CP delivers written notice of non-renewal of the 2022 AMA at least 180 days prior to the termination date of the Initial Term or any Extension Term. Twenty-four months after the effective date of the 2022 AMA, CP is entitled to terminate the 2022 AMA without cause upon 180 days advance written notice to CAM. In the event of such a termination and in addition to the payment of any accrued annual fees due and payable as of the termination date under the 2022 AMA, CP is required to pay a termination fee equal to two times the Cost-Plus Fee or Market Rate Fee paid to CAM for the calendar year immediately preceding the termination.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Residential, Commercial, and Parking Property Management Agreements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company entered into separate residential property management agreements with properties owned by CP Entities under which the Company receives fees to manage and operate the properties, including tenant communications, leasing of apartment &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;units, rent collections, building maintenance and day-to-day operations, engagement and supervision of contractors and vendors providing services for the buildings, and budget preparation and oversight.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company entered into separate commercial property and parking management agreements with several properties owned by CP Entities under which the Company receives fees to manage and operate the office and retail portions of the properties, including tenant communications, rent collections, building maintenance and day-to-day operations, engagement and supervision of contractors and vendors providing services for the buildings, and budget preparation and oversight. These property management agreements each have initial terms of one year with successive, automatic one-year renewal terms. The Company generally receives base management fees under these agreements based upon a percentage of gross rental revenues for the portions of the buildings being managed in addition to reimbursement of specified expenses, including employment expenses of personnel employed by the Company in the management and operation of each property.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Construction Management Agreements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has construction management agreements with properties owned by CP Entities under which the Company receives fees to provide certain construction management and supervision services, including construction supervision and management of the buildout of certain tenant premises.&#160;The Company receives a flat construction management fee for each engagement under a work authorization based upon the construction management or supervision fee set forth in the applicable tenant&#x2019;s lease, which fee is generally 1% to 4% of the total costs (or total hard costs) of construction of the tenant&#x2019;s improvements in its premises, or as otherwise agreed to by the parties.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Lease Procurement Agreements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has lease procurement agreements with properties owned by CP Entities under which the Company receives certain leasing fees in connection with the procurement of new leases for such properties where external brokers are not involved. Such leasing fees are supplemental to the fees generated from the AMA and above-referenced management agreements. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Management Agreements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 30, 2019, CAM entered into a Business Management Agreement with Investors X, whereby CAM provides Investors X with asset and professional services related to the wind down of the Company&#x2019;s divested homebuilding operations and the continuation of services related to the Company&#x2019;s divested land development activities. The aggregate fee payable to CAM from Investors X under the Business Management Agreement is $0.94 million payable in 15 quarterly installments of $0.06 million each.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 1, 2019, CAM entered into a Business Management Agreement (the &#x201c;BC Management Agreement&#x201d;) with CPRES, whereby CAM provides CPRES with professional management and consultation services, including, without limitation, consultation on land development and real estate transactions, for a residential community located in Monteverde, Florida. The initial term of the BC Management Agreement expired on December 31, 2020, subject to automatic, successive one (1) year extensions, unless sooner terminated in accordance with the terms of the BC Management Agreement. The current term of the BC Management Agreement expires on December 31, 2022. The BC Management Agreement provides that CPRES will pay CAM an annual management fee equal to $0.34 million, payable in equal monthly installments during the term commencing on July 1, 2019, and will reimburse CAM for certain expenses. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;The Hartford&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the Company made an investment related to the purchase of the Hartford, a stabilized commercial office building located at 3101 Wilson Boulevard in the Clarendon area of Arlington County, Virginia. In conjunction with the investment, the Company entered into an operating agreement with CP to form Comstock 3101 Wilson, LC, to purchase the Hartford. Pursuant to the Operating Agreement, the Company held a minority membership interest of the Hartford and the remaining membership interests of the Hartford are held by CP. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2020, the Company, CP and DWF VI 3101 Wilson Member, LLC (&#x201c;DWF&#x201d;), an unaffiliated, third party, equity investor in the Hartford, entered into a limited liability company agreement (the &#x201c;DWC Operating Agreement&#x201d;) to form DWC 3101 Wilson Venture, LLC (&#x201c;DWC&#x201d;) to, among other things, acquire, own and hold all interests in the Hartford. In furtherance thereof, on February 7, 2020, the Original Operating Agreement was amended and restated (the &#x201c;A&amp;amp;R Operating Agreement&#x201d;) to memorialize the Company&#x2019;s and CP&#x2019;s assignment of 100% of its membership interests in the Hartford to DWC. As a result thereof, DWC is the sole member of the Hartford Owner. The Company and CP, respectively, hold minority membership interests in, and DWF holds the majority membership interest in, DWC. &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;See Note 5 for further information.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;BLVD Forty Four/BLVD Ansel&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2021 and March 2022, the Company entered into joint ventures with CP to acquire BLVD Forty Four and BLVD Ansel, respectively, two adjacent mixed-use luxury high-rise apartment buildings located near the Rockville Metro Station in Montgomery County, Md. &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;The Company considers BLVD Forty Four and BLVD Ansel to be&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; variable &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;interest entities upon which it exercises significant influence; however, considering key factors such as the Company&#x2019;s ownership interest and participation in policy-making decisions by majority equity holders, the Company concluded that it does not have a controlling financial interest in either property. See Note 5 for further information.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Corporate Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 1, 2020, the Company relocated its corporate headquarters to a new office space pursuant to a &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU4NDg5_c5041fe0-53f1-49f4-8040-7a4a5131ae19"&gt;ten&lt;/span&gt;-year lease agreement with an affiliate controlled and owned by Christopher Clemente, its Chief Executive Officer, and his family as landlords. &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;See Note 6 for further information. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 1, 2022, ParkX Management, LC, a subsidiary of the Company, entered into a &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU4NzIy_282e301b-7282-4a1b-a236-ce22fe5f169d"&gt;five&lt;/span&gt;-year lease agreement for its parking operations monitoring center with an affiliate controlled and owned by Christopher Clemente, its Chief Executive Officer, and his family as landlords. &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;See Note 6 for further information. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Series C Preferred Stock Redemption&lt;/span&gt;&lt;/div&gt;On June 13, 2022, the Company entered into the SEPA with CPRES, pursuant to which the Company acquired from CPRES all outstanding shares of its non-convertible and non-redeemable Series C preferred stock.  See Note 10 for further information.</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:ContractualObligation
      contextRef="iff1c3fa3b7c44126b80ca88fcbd93a42_I20220613"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU2NjQ1_cba6a0b9-dd78-49d4-bf1d-98d299a98195"
      unitRef="usd">1000000</us-gaap:ContractualObligation>
    <us-gaap:ContractualObligation
      contextRef="if6b0a70ea12847ac92540d48f50bcc13_I20220613"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU2NjQ1_fef51d20-ef21-46fa-820f-e7c760b52982"
      unitRef="usd">1000000</us-gaap:ContractualObligation>
    <chci:ScheduleOfMarketRateFeeTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfMjc0ODc3OTExNDYxOQ_f1ae5def-c94c-49ae-8926-08317be379c6">The Market Rate Fee calculation is defined in the respective asset management agreements as the sum of the fees detailed in the following table: &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.856%"&gt;&lt;tr&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022 AMA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2019 AMA&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-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset Management Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Entitlement Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15% of total re-zoning costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Encompassed in Development and Construction Fee&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-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Development and Construction Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5% of development costs (excluding previously charged Entitlement Fees)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4% of development costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property Management Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of Anchor Portfolio revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisition Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% on first $50 million of purchase price; 0.5% above $50 million&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5% of purchase price&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-bottom:1pt solid #000;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Disposition Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% on first $50 million of sale price; 0.5% above $50 million&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5% of sale price&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</chci:ScheduleOfMarketRateFeeTableTextBlock>
    <chci:RelatedPartyTransactionPercentageOfPortfolioRevenues
      contextRef="i623e3301c9f9432985e527b6b4a2c7c2_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfMS0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOmI3ZDU0N2VkZDYyYjQzY2I4MTI2ZjdhZTBkNTE3YTlhXzU0OTc1NTgxMzkyOA_2f1c4f7a-2424-4168-a52f-f6214948ebad"
      unitRef="number">0.025</chci:RelatedPartyTransactionPercentageOfPortfolioRevenues>
    <chci:RelatedPartyTransactionPercentageOfPortfolioRevenues
      contextRef="i784b7ffda1c04a75ab0360a2b2ba4ae7_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfMS0zLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjdlZjhlNmZmNDAzNDRjMDI5NjIyOTFmZDdmYjVjZmFmXzU0OTc1NTgxMzkyOA_f0a363e3-aeeb-4037-9f4a-8a805263346b"
      unitRef="number">0.025</chci:RelatedPartyTransactionPercentageOfPortfolioRevenues>
    <chci:RelatedPartyTransactionPercentageOfReZoningCosts
      contextRef="i69c4ae53a80b47cba3574306e52ca755_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfMi0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjcwN2ZiMDFlZDU4ODQ3YWJiODU2M2M0MDU4YmRkOThiXzU0OTc1NTgxMzkyMw_2d4cc082-0202-45b1-93c9-a1fdad8aa749"
      unitRef="number">0.15</chci:RelatedPartyTransactionPercentageOfReZoningCosts>
    <chci:RelatedPartyTransactionPercentageOfAllCostsAssociatedWithPortfolioProjectsInDevelopment
      contextRef="ic032b26a7a4c46b2a29ea5ffcdab6078_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfMy0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOmZiN2Y1YTU5YTU5MDRlYjVhNzE2OTZmMDViMGI5ZTIxXzU0OTc1NTgxMzk2NQ_460db041-b403-4636-ba0b-72de18bfa30a"
      unitRef="number">0.05</chci:RelatedPartyTransactionPercentageOfAllCostsAssociatedWithPortfolioProjectsInDevelopment>
    <chci:RelatedPartyTransactionPercentageOfAllCostsAssociatedWithPortfolioProjectsInDevelopment
      contextRef="id8069f3afaaf4587a16b3072fd06aecf_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfMy0zLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjI5ZjQ1NzdmMTdhMzQ4YWFiYzc4ZWM4MzA3Yzc5NWU2XzU0OTc1NTgxMzkxNw_5440f10f-53ce-4db3-bf48-7b0cf6d7ab16"
      unitRef="number">0.04</chci:RelatedPartyTransactionPercentageOfAllCostsAssociatedWithPortfolioProjectsInDevelopment>
    <chci:RelatedPartyTransactionPercentageOfPortfolioRevenues
      contextRef="ib43ac402c79143a4b1d560978c936f88_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNC0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjgxZmQ0OTJlNWM5ZDQ0MWY5ZGJkZWI0ZmYzNjkzNzA2XzU0OTc1NTgxMzkyNA_46154147-980b-46be-939a-e9940c238912"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfPortfolioRevenues>
    <chci:RelatedPartyTransactionPercentageOfPortfolioRevenues
      contextRef="ifaeaa4244b264dcd8a2fc20223ed8790_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNC0zLTEtMS0zODE3Ni90ZXh0cmVnaW9uOmVlZmJmNzdjOTY3MzRiZWI4MDlkZTgwNTNmYzRmMmU1XzU0OTc1NTgxMzkyNA_39ee126f-30a6-4370-9f2d-fcbb72ec4e6d"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfPortfolioRevenues>
    <chci:RelatedPartyTransactionPercentageOfPurchasePriceOfAcquiredAsset
      contextRef="ib7dc418e6c17489db78ad91fd89fbb47_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNS0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjE1Y2ViYWE0YjAzYjRlOWRiZTg5NjQ0ZGQ5MjAxNTE2XzU0OTc1NTgxMzk1OQ_4906ac5a-ee1b-4307-86b0-3d09c220fcfa"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfPurchasePriceOfAcquiredAsset>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i0980399fa6c349afbbc2715f4dbf83c8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNS0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjE1Y2ViYWE0YjAzYjRlOWRiZTg5NjQ0ZGQ5MjAxNTE2XzU0OTc1NTgxMzk3Mw_3fc095ce-a3dd-4daa-9429-23d65e66606a"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i0980399fa6c349afbbc2715f4dbf83c8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNS0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjE1Y2ViYWE0YjAzYjRlOWRiZTg5NjQ0ZGQ5MjAxNTE2XzU0OTc1NTgxMzk3Mw_ca1e5f96-c011-4e8c-bf2d-0329d571592b"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <chci:RelatedPartyTransactionPercentageOfPurchasePriceOfAcquiredAsset
      contextRef="i7854c391af0e4506847967222b40f66d_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNS0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjE1Y2ViYWE0YjAzYjRlOWRiZTg5NjQ0ZGQ5MjAxNTE2XzU0OTc1NTgxNDAwNQ_b10fffda-5403-4e50-b898-159b08b12001"
      unitRef="number">0.005</chci:RelatedPartyTransactionPercentageOfPurchasePriceOfAcquiredAsset>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i0980399fa6c349afbbc2715f4dbf83c8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNS0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjE1Y2ViYWE0YjAzYjRlOWRiZTg5NjQ0ZGQ5MjAxNTE2XzU0OTc1NTgxMzk5MQ_3fc095ce-a3dd-4daa-9429-23d65e66606a"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i0980399fa6c349afbbc2715f4dbf83c8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNS0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjE1Y2ViYWE0YjAzYjRlOWRiZTg5NjQ0ZGQ5MjAxNTE2XzU0OTc1NTgxMzk5MQ_ca1e5f96-c011-4e8c-bf2d-0329d571592b"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <chci:RelatedPartyTransactionPercentageOfPurchasePriceOfAcquiredAsset
      contextRef="i3546dfbd9151498e8e6412f4891e176f_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNS0zLTEtMS0zODE3Ni90ZXh0cmVnaW9uOmI0NTBkNDNjM2I5ZDRlZTY4NDIzOWViMGFhMzA0YTRiXzU0OTc1NTgxMzkyMA_d148958d-03e6-47be-8955-7044d8606af9"
      unitRef="number">0.005</chci:RelatedPartyTransactionPercentageOfPurchasePriceOfAcquiredAsset>
    <chci:RelatedPartyTransactionPercentageOfSalesPriceOfAssetOnDisposition
      contextRef="i22a2c9579e2847bba0e4ffc1246157bb_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNi0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjAxYzE2ZDc0NjE4NDRhYTBhNjhkYzZiZjlkMjZiZDRhXzU0OTc1NTgxMzk1NQ_04d75be6-6406-42aa-b07f-e5e91fc81ca2"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfSalesPriceOfAssetOnDisposition>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i93bdd1ed4d9a44f6bfbc85bf55e13da8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNi0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjAxYzE2ZDc0NjE4NDRhYTBhNjhkYzZiZjlkMjZiZDRhXzU0OTc1NTgxMzk2OQ_118b41b5-6ed7-4559-b46e-cf7d2d0ac19b"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i93bdd1ed4d9a44f6bfbc85bf55e13da8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNi0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjAxYzE2ZDc0NjE4NDRhYTBhNjhkYzZiZjlkMjZiZDRhXzU0OTc1NTgxMzk2OQ_d0971ca0-b77c-4e35-a99b-dbcef0c9e098"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <chci:RelatedPartyTransactionPercentageOfSalesPriceOfAssetOnDisposition
      contextRef="ic11156a8b40a4566a7e5ef40bfbd49b9_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNi0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjAxYzE2ZDc0NjE4NDRhYTBhNjhkYzZiZjlkMjZiZDRhXzU0OTc1NTgxMzk5Ng_bb1192e1-ad48-4f87-b96b-4956392d8e25"
      unitRef="number">0.005</chci:RelatedPartyTransactionPercentageOfSalesPriceOfAssetOnDisposition>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i93bdd1ed4d9a44f6bfbc85bf55e13da8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNi0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjAxYzE2ZDc0NjE4NDRhYTBhNjhkYzZiZjlkMjZiZDRhXzU0OTc1NTgxMzk4Ng_118b41b5-6ed7-4559-b46e-cf7d2d0ac19b"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <us-gaap:AssetAcquisitionPriceOfAcquisitionExpected
      contextRef="i93bdd1ed4d9a44f6bfbc85bf55e13da8_D20220613-20220613"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNi0yLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjAxYzE2ZDc0NjE4NDRhYTBhNjhkYzZiZjlkMjZiZDRhXzU0OTc1NTgxMzk4Ng_d0971ca0-b77c-4e35-a99b-dbcef0c9e098"
      unitRef="usd">50000000</us-gaap:AssetAcquisitionPriceOfAcquisitionExpected>
    <chci:RelatedPartyTransactionPercentageOfSalesPriceOfAssetOnDisposition
      contextRef="i6b06a0bbee93497995212193281e142b_I20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjJlMDU0ZTg0MWQ1ODQxY2E5ZTlmNDQ1NjEzM2RlOWFkL3RhYmxlcmFuZ2U6MmUwNTRlODQxZDU4NDFjYTllOWY0NDU2MTMzZGU5YWRfNi0zLTEtMS0zODE3Ni90ZXh0cmVnaW9uOjBhMTBlOGQzNTY5MDRkMmNhZGI4OGQ0NWU5N2RkMDQ3XzU0OTc1NTgxMzkxNg_7a857b53-c920-44f7-8229-2f62d317e568"
      unitRef="number">0.005</chci:RelatedPartyTransactionPercentageOfSalesPriceOfAssetOnDisposition>
    <chci:ScheduleOfSupplementalFeesTableTextBlock
      contextRef="ia2b53e94d96748dbb3155523f5eadb20_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfMjc0ODc3OTExNDYyMA_0a60661d-7667-4611-89f5-41fcd2a0d5ff">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to the annual payment of either the Market Rate Fee or the Cost-Plus Fee, CAM is also entitled on an annual basis to receive certain supplemental fees, as detailed for the respective asset management agreements in the following table: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.856%"&gt;&lt;tr&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.434%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;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:700;line-height:100%"&gt;2022 AMA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;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:700;line-height:100%"&gt;2019 AMA&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-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Incentive Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;When receiving Market Rate Fee:&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:100%"&gt;On a mark-to-market basis, equal to 20% of the imputed profit of certain real estate assets comprising the Anchor Portfolio for which a Triggering Event&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; has occurred, after calculating a compounding preferred return of 8% on CP invested capital (the &#x201c;Market Incentive Fee&#x201d;)&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:100%"&gt;When receiving the Cost-Plus Fee:&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:100%"&gt;On a mark-to-market basis, an incentive fee equal to 10% of the imputed profit of certain real estate assets comprising the Anchor Portfolio for which a Triggering Event&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; has occurred, after calculating a compounding preferred return of 8% on CP invested capital (the &#x201c;Base Incentive Fee&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10% of the free cash flow of each of the real estate assets comprising the Anchor Portfolio after calculating a compounding preferred return of 8% on CPRES invested capital &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investment Origination Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of raised capital &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of raised capital &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasing Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1/per sqft. for new leases and $0.50/per sqft. for lease renewals&#160;&#160; &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1/per sqft. for new leases and $0.50/ per sqft. for lease renewals&#160;&#160; &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loan Origination Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of any Financing Transaction or other commercially reasonable and mutually agreed upon fee&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1% of any Financing Transaction or other commercially reasonable and mutually agreed upon fee&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;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="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: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="9" 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;Triggering events determined annually as defined in the agreement, but generally as each managed asset is leased and stabilized. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</chci:ScheduleOfSupplementalFeesTableTextBlock>
    <chci:RelatedPartyTransactionPercentageOfMarketRateFeeMarketToMarketProfitBasis
      contextRef="i920e9f480da44189a6353dc7bf3537c4_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOmNlNTI3ZDYxYjMwZDRhYzc5ODI5MDMxNTBhMjY4MWI0XzU0OTc1NTgxNDUyNg_78e4d265-1bfe-4a67-8328-8e5f472af3c5"
      unitRef="number">0.20</chci:RelatedPartyTransactionPercentageOfMarketRateFeeMarketToMarketProfitBasis>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i920e9f480da44189a6353dc7bf3537c4_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOmNlNTI3ZDYxYjMwZDRhYzc5ODI5MDMxNTBhMjY4MWI0XzU0OTc1NTgxNDUzMQ_297e1970-4bda-4f82-8831-898612bdae62"
      unitRef="number">0.08</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i920e9f480da44189a6353dc7bf3537c4_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOmNlNTI3ZDYxYjMwZDRhYzc5ODI5MDMxNTBhMjY4MWI0XzU0OTc1NTgxNDUzMQ_d364ebee-1072-4c3c-a5b1-c2b371b1d1ba"
      unitRef="number">0.08</us-gaap:PreferredStockDividendRatePercentage>
    <chci:RelatedPartyTransactionPercentageOfCostPlusFeeMarketToMarketProfitBasis
      contextRef="i920e9f480da44189a6353dc7bf3537c4_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOmNlNTI3ZDYxYjMwZDRhYzc5ODI5MDMxNTBhMjY4MWI0XzU0OTc1NTgxNDU0Mg_b45d5d2b-6988-429a-8191-71f30370bc77"
      unitRef="number">0.10</chci:RelatedPartyTransactionPercentageOfCostPlusFeeMarketToMarketProfitBasis>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i920e9f480da44189a6353dc7bf3537c4_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOmNlNTI3ZDYxYjMwZDRhYzc5ODI5MDMxNTBhMjY4MWI0XzU0OTc1NTgxNDUzNg_297e1970-4bda-4f82-8831-898612bdae62"
      unitRef="number">0.08</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i920e9f480da44189a6353dc7bf3537c4_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOmNlNTI3ZDYxYjMwZDRhYzc5ODI5MDMxNTBhMjY4MWI0XzU0OTc1NTgxNDUzNg_d364ebee-1072-4c3c-a5b1-c2b371b1d1ba"
      unitRef="number">0.08</us-gaap:PreferredStockDividendRatePercentage>
    <chci:RelatedPartyTransactionPercentageOfCashFlowFromRealEstateAssets
      contextRef="i0f3b3ea6510d44858a02762c0c3c6874_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0zLTEtMS0zODQwNi90ZXh0cmVnaW9uOjllOTJmODcyNGZlMDQ4YzQ4NTlkOWNhMjllOTE3NDdhXzU0OTc1NTgxNDA2OA_aa66ec99-992c-4375-95d1-0c276e170948"
      unitRef="number">0.10</chci:RelatedPartyTransactionPercentageOfCashFlowFromRealEstateAssets>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i0f3b3ea6510d44858a02762c0c3c6874_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMS0zLTEtMS0zODQwNi90ZXh0cmVnaW9uOjllOTJmODcyNGZlMDQ4YzQ4NTlkOWNhMjllOTE3NDdhXzU0OTc1NTgxNDA3Mw_e0429ccb-d8cf-4470-9c3f-acd315a6fc2b"
      unitRef="number">0.08</us-gaap:PreferredStockDividendRatePercentage>
    <chci:RelatedPartyTransactionPercentageOfRaisedCapital
      contextRef="i727e5763999b4e97981d8de8a8663b9f_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMi0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOmUzYWRjNTQwYjExNDRlY2E5YWQxMWU5Zjc5ZjFhZmUzXzU0OTc1NTgxMzkxNQ_16e67bfe-9df5-48d3-ab99-a90db5d891de"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfRaisedCapital>
    <chci:RelatedPartyTransactionPercentageOfRaisedCapital
      contextRef="i73e58e08df5b4c34a45846e53c528659_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMi0zLTEtMS0zODQwNi90ZXh0cmVnaW9uOjMwMTA5ZjUxYjJkMDRmYjQ5YTE0YTdhZjIwM2I0ZjA3XzU0OTc1NTgxMzkxNQ_0a7a96df-ccb3-452a-af35-fc63e156fa8a"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfRaisedCapital>
    <chci:LeasingFeePerSquareFootForNewLeases
      contextRef="ib66b7086e76947029b755bd4de90c01d_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMy0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOjJjM2UzZjFlOWRhYTRkMzU4MjBiNTI5OTk5M2U0NTI0XzU0OTc1NTgxMzk3MA_e382f6e7-9865-4f45-8d74-c9c3564e85d1"
      unitRef="usdPerSqft">1</chci:LeasingFeePerSquareFootForNewLeases>
    <chci:LeasingFeePerSquareFootForRenewalLeases
      contextRef="ib66b7086e76947029b755bd4de90c01d_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMy0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOjJjM2UzZjFlOWRhYTRkMzU4MjBiNTI5OTk5M2U0NTI0XzU0OTc1NTgxMzk5MQ_9c3120c8-1ff8-4b42-98f8-324ff103e891"
      unitRef="usdPerSqft">0.50</chci:LeasingFeePerSquareFootForRenewalLeases>
    <chci:LeasingFeePerSquareFootForNewLeases
      contextRef="i35a4fecbc6084b6f95a4e75bf6b41f75_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMy0zLTEtMS0zODQwNi90ZXh0cmVnaW9uOjk4ZTA0NjhlMmZiYjQxNzc5MWM2MzA0ZjBiNWFiMzA3XzU0OTc1NTgxMzk3MA_93489412-3003-4508-8a93-08aacac84fb7"
      unitRef="usdPerSqft">1</chci:LeasingFeePerSquareFootForNewLeases>
    <chci:LeasingFeePerSquareFootForRenewalLeases
      contextRef="i35a4fecbc6084b6f95a4e75bf6b41f75_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfMy0zLTEtMS0zODQwNi90ZXh0cmVnaW9uOjk4ZTA0NjhlMmZiYjQxNzc5MWM2MzA0ZjBiNWFiMzA3XzU0OTc1NTgxMzk5NQ_44aa80a8-3092-468e-ab03-4102d5abf011"
      unitRef="usdPerSqft">0.50</chci:LeasingFeePerSquareFootForRenewalLeases>
    <chci:RelatedPartyTransactionPercentageOfFinancingTransaction
      contextRef="i69b239ba3d9c44bdb280106601cf0080_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfNC0yLTEtMS0zODQwNi90ZXh0cmVnaW9uOjk0ZTQ1Zjg4Mzg0ODRjMjQ4MTBmN2Y3ZmQ2Nzc3OTYxXzU0OTc1NTgxMzk4Nw_ce241930-b2ab-4d28-82d6-95d6d4a57a88"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfFinancingTransaction>
    <chci:RelatedPartyTransactionPercentageOfFinancingTransaction
      contextRef="i85d4511ea05346f99f715eec8d9a0d84_D20220613-20220613"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RhYmxlOjZlN2YyNGEwYzVlOTQ0ZGM4OTUxNjQ0YTA4Y2JhMzc4L3RhYmxlcmFuZ2U6NmU3ZjI0YTBjNWU5NDRkYzg5NTE2NDRhMDhjYmEzNzhfNC0zLTEtMS0zODQwNi90ZXh0cmVnaW9uOmMzNGQ2OWRmZTM1NDQ0YTFhM2I0ZjdlYjk0MTJlZWM3XzU0OTc1NTgxMzk4Nw_8b1674c8-efce-42dc-a0de-29970591281d"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfFinancingTransaction>
    <chci:AgreementAdditionalExtensionTerm
      contextRef="icc6c6e0128674147b3ef2dfe51bb9813_D20220613-20220613"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU5MTQ4_ef46b9df-419c-4eda-bbc3-9704b1b6402f">P1Y</chci:AgreementAdditionalExtensionTerm>
    <chci:AgreementNoticePeriodRequiredForNonRenewal
      contextRef="icc6c6e0128674147b3ef2dfe51bb9813_D20220613-20220613"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU5MTM5_d6731a4e-1356-4081-abfe-0aa76996d959">P180D</chci:AgreementNoticePeriodRequiredForNonRenewal>
    <chci:AgreementNoticePeriodAfterEffectiveDateForTermination
      contextRef="icc6c6e0128674147b3ef2dfe51bb9813_D20220613-20220613"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU5MTMw_88e6bdff-1cc0-4743-a0ea-9063ea4dd9f0">P24M</chci:AgreementNoticePeriodAfterEffectiveDateForTermination>
    <chci:AgreementNoticePeriodRequiredForNonRenewal
      contextRef="icc6c6e0128674147b3ef2dfe51bb9813_D20220613-20220613"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTQ5NzU1ODU2NzA0_d6731a4e-1356-4081-abfe-0aa76996d959">P180D</chci:AgreementNoticePeriodRequiredForNonRenewal>
    <chci:PropertyManagementAgreementsInitialTerm
      contextRef="if0d6347abc094e27953ac6ef186f05d3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfOTk1Ng_1bd8bc05-df61-42b0-9b17-49d451a3458e">P1Y</chci:PropertyManagementAgreementsInitialTerm>
    <chci:PropertyManagementAgreementsRenewalTerm
      contextRef="if0d6347abc094e27953ac6ef186f05d3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfOTk1NA_0a540e37-f175-4fb7-a8e0-363f4f8ea9dc">P1Y</chci:PropertyManagementAgreementsRenewalTerm>
    <chci:RelatedPartyTransactionPercentageOfConstructionManagementFee
      contextRef="icf3bc49a4acd459c881d97ca6ee47b8e_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTYzMQ_0b3c8321-d9db-45b6-9ba9-f18d9510aeed"
      unitRef="number">0.01</chci:RelatedPartyTransactionPercentageOfConstructionManagementFee>
    <chci:RelatedPartyTransactionPercentageOfConstructionManagementFee
      contextRef="i66e7f9794ef64abe85c65b8b270e2600_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNTYzNw_122fd703-5af4-41e4-9aeb-624ddde598f2"
      unitRef="number">0.04</chci:RelatedPartyTransactionPercentageOfConstructionManagementFee>
    <chci:RelatedPartyTransactionAggregateFeePayable
      contextRef="i3bfb0eb3ff5341e5a07fe456cc7923cf_I20190430"
      decimals="-4"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNjYyOQ_173fe927-3a9a-4a86-8565-04631d7bdfff"
      unitRef="usd">940000</chci:RelatedPartyTransactionAggregateFeePayable>
    <chci:NumberOfInstallmentsOfFeePayment
      contextRef="i2b96af577e4b4a2fa72b9837aa641859_D20190430-20190430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNjY0Mw_49b10f1b-d781-40b7-bf0d-4081235b7b5a"
      unitRef="installment">15</chci:NumberOfInstallmentsOfFeePayment>
    <chci:RelatedPartyTransactionFeePayableInInstallments
      contextRef="i3bfb0eb3ff5341e5a07fe456cc7923cf_I20190430"
      decimals="-4"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNjY3Mg_7c0570eb-51a4-46c3-a855-f51575ba040f"
      unitRef="usd">60000.00</chci:RelatedPartyTransactionFeePayableInInstallments>
    <chci:RelatedPartyTransactionExpirationPeriod
      contextRef="i21347811a55648c6be5dce37b0d8a225_I20190701"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNzE0NA_af95d4df-a0a1-400c-a82e-e56f0a8dcf1c">P1Y</chci:RelatedPartyTransactionExpirationPeriod>
    <us-gaap:ManagementFeePayable
      contextRef="i21347811a55648c6be5dce37b0d8a225_I20190701"
      decimals="-4"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfNzQyNA_c13dcede-82cb-4c8e-ad25-8477bdfb39b6"
      unitRef="usd">340000</us-gaap:ManagementFeePayable>
    <chci:PercentageOfMembershipInterestOwnedByCompanyAndPartners
      contextRef="ib1c1ca71fd584d248b9243614e9642d3_I20200207"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNjYjZmMjI5YzhmNzQ5ZWY5Yjc1OTEwYWI3YjM3OWJkL3NlYzozY2I2ZjIyOWM4Zjc0OWVmOWI3NTkxMGFiN2IzNzliZF83MC9mcmFnOjI5MWUwODUzOWEyMTRiYzZiNGJkZGNiZGJmZjAyZTIyL3RleHRyZWdpb246MjkxZTA4NTM5YTIxNGJjNmI0YmRkY2JkYmZmMDJlMjJfODY2Ng_0236a2b7-d601-43cd-839c-060ac19f6509"
      unitRef="number">1</chci:PercentageOfMembershipInterestOwnedByCompanyAndPartners>
</xbrl>
